可变类型、不可变类型

2019-10-13  本文已影响0人  仁安天下

赋值或传递参数的时候,是原对象的引用,可分为可变对象、不可变对象,可变对象的内容是可变的,例如list。而不可变的对象则相反,表示其内容不可变。

可变对象:list、dict,即使用list[],dict[]、.append()修改内部子项的时候,内存变量被修改,外部函数变量、全局变量也跟着修改,但内存地址没有变化

不可变对象:str、tuple,int

a = []
b = a
print id(a)
print id(b)
a.append(1)
print id(a)
print b
print id(b)


b = 1
print id(b)
b += 1
print id(b)

75687176
75687176
75687176
[1]
75687176
49046872
49046848

上面例子,list内存内容变了,但是内存地址始终没有变化,int内存地址有变化

上一篇 下一篇

猜你喜欢

热点阅读