不可变的是什么?
1.简单地说...
其值可以更改的对象称为可变对象。
价值可以改变的对象被认为是可变的。
无法更改其值的对象称为不可变的。
其值不可更改的对象称为不可变的。
3.1。
对象,值和类型-Python语言参考
不可变
的具有固定值的对象。不可变的对象包括数字,字符串和元组。这些对象不能更改值。 如果要记住另一个值,则必须创建一个新对象。在需要固定哈希值的情况下,不可变对象起着重要作用。字典键就是一个例子。
2、可变对象
例如,可变是由列表类型,字典类型和类定义语句定义的类。
lass Person: def __init__(self, name): self.name = name person = Person('yaruo') person.name # 已修改 -> mutable person.name = 'yarumi' person.name # 'yarumi'
>>> # 已修改 -> mutable
... person.name = 'yarumi'
>>> person.name # 'yarumi'
'yarumi'
>>>
清单类型
lst = [1, 2, 3] # 已修改 -> mutable lst[2] = 4 lst # [1, 2, 4]
>>> # 已修改 -> mutable
... lst[2] = 4
>>> lst # [1, 2, 4]
[1, 2, 4]
>>>
不变的对象
例如,int,str,bool和tuple实例是不可变的。a = 1
# 1 真 a.real # 1 # 1 假 a.imag # 0 # 不能变更 -> immutable i.imag = 100 # AttributeError >>> #不能变更 -> immutable ... i.imag = 100 # AttributeError Traceback (most recent call last): File "<stdin>", line 2, in <module> NameError: name 'i' is not defined >>>
AttributeError如果
属性引用或属性分配失败,则调度 (如果对象根本不支持属性引用或属性分配,则引发TypeError)。