拷贝及运算符
AI-摘要
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
拷贝及运算符
Pupper浅拷贝和深拷贝
拷贝需要导入 copy
模块
1、赋值:简单地拷贝对象的引用,两个对象的id 相同。
2、浅拷贝:创建一个新的组合对象,这个新对象与原对象 共享 内存中的子对象。
3、深拷贝:创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象与原对象没有任何关联。
浅拷贝
浅拷贝:是指创建一个新的对象,其内容是原对象中元素的引用。(拷贝组合对象,不拷贝子对象)
方法:copy.copy()
浅拷贝 等价于 切片[:]
使用浅拷贝时,子对象共用(list1 的子对象改变时,list2 的子对象也会改变)
1 | import copy |
深拷贝
深拷贝:是指创建一个新的对象,递归的拷贝原对象所包含的子对象。
方法:copy.deepcopy()
深拷贝出来的对象与原对象没有任何关联。
1 | import copy |
对于不可变对象,当需要一个新的对象时,python 可能会返回已经存在的某个类型和值都一致的对象的引用。
这种机制并不会影响 两个对象 的相互独立性
布尔表达式
1.布尔对象只有两种取值: True 和 False
2.布尔类型 True 真,也可以用 1 表示 False 假 也可以用 0 表示
3.字母之间的比较,是根据 ASCII 码 来比较的,a=97
,A=65
比较运算符
用 ==
、!=
、>
、>=
、<
、<=
连接两个比较对象。
通过比较用算符判断表达式是否成立,成立则返回 True ,不成立则返回 False
1 | print( 1 == 1) # True |
in 和 not in
使用 in 和 not in 来判断元素是否在对象中
1 | list1 = [10, 20, 30] |
逻辑运算符
使用 and 和 or 来连接多个判断语句
- amd、or 遵循 全真为真,一假为假 的规则。
- 如果有括号时,需要先判断括号内的部分。
and
,or
,not
的优先级not
>and
>or
1 | print(1>2 and 2>1 or 3>20 and 5>4 or 6>5) # True |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果