数据不可变类型:
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解释器里就代表它在内存中的地址