跳转至

变量、对象、类型与可变性

Python 变量是对象的绑定名称,不是固定大小的“盒子”。赋值会让名称指向对象:

count = 3
name = "Jie"
enabled = True

intfloatstrtuple 等常用对象不可变;listdictset 可变。理解可变性可避免函数和赋值中的意外共享。

left = ["a"]
right = left
right.append("b")
print(left)  # ['a', 'b'],两者引用同一列表

copy = left.copy()
copy.append("c")

== 比较值是否相等,is 比较是否为同一对象。一般只用 is None 判断空值:

if value is None:
    ...

不要用 is 比较整数或字符串内容;对象驻留是实现细节,不是业务规则。

参考

评论