1. 赋值运算符
- += (x +=3 相当于 x = x+3)
- -= (x -= 3 相当于 x= x - 3 )
- *= (x = 3 相当于 x = x 3 )
- **= (x **= 3 相当于 x = x ** 3 )
- /= (x /= 3 相当于 x = x/ 3 )
- //= (x //= 3 相当于 x = x // 3 )
- %= (x %= 3 相当于 x= x % 3
2. 0, None, 空字符串 布尔值为False
>>> bool('')
False
>>> bool(0)
False
>>> bool(None)
False
>>> bool('')
False
>>> bool()
False
3. 比较运算符
- == 比较两个对象的值是否相等
- != 比较两个对象的值是否不相等
- is 比较两个对象是否是同一个对象,比较的是对象的id
- is not,比较两个对象的是否不是同一个对象,比较的所以对象的id
4. 普通赋值, copy.copy(), copy.deepcopy()
- 普通赋值, a 的id 赋值给了b。
a = [‘this’, ‘is’, [1, 2, 3]], b = a - copy.copy(), copy 了a 的id所指向的值, 在内存的另一个区域存储这个值,其中 a[2] 中存储了指向列表[1, 2, 3]的id。 id(a)指向的位置存储的值为 [‘this’, ‘is’, id]。
- copy.deepcopy(), copy了id(a) 和 id([1,2,3])所指向的值,在内存中的另一个空间存放这些值。所以,修改a 中的列表[1, 2, 3]不会影响b所对应的值
5. 非布尔值的与、或运算
- 当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会
返回原值 - a and b, a or b,
a、b中哪一位能够决定布尔值,那就就选取哪一位作为结果。
与 运算 a and b:
a 是False, 返回a值;a是True,返回b值
或 运算 a or b
a是True,返回a值;a是False,返回b值