Python 数据类型的不可变与可变

数据不可变类型:
int string tuple

可变类型:
list dict set

利用id()制作测试:

a = 1
print(id(a))
a = 2
print(id(a))
b = [1,2,3,4]
print(id(b))
b.append(5)
print(id(b))

输出:

10914496
10914528
140279618159176
140279618159176

可以看出不可变类型id改变,可变类型id不变。

关于id():
1、id(object)返回的是对象的“身份证号”,唯一且不变,但在不重合的生命周期里,可能会出现相同的id值。此处所说的对象应该特指复合类型的对象(如类、list等),对于字符串、整数等类型,变量的id是随值的改变而改变的。

2、一个对象的id值在CPython解释器里就代表它在内存中的地址

你可能感兴趣的:(Python 数据类型的不可变与可变)