+10 投票
分类:Python编程与实践 | 用户: (11.7k 分)

1个回答

+1 投票
用户: (45.4k 分)
采纳于 用户:
 
已采纳

Python是动态类型语言,变量可以随时改变类型,取决于指向的对象类型。像int、float、str这些属于不可变对象,内容变了,只能在新地址上重建内容,所以地址一定会变;而list、set、dict之类的属于可变对象,容器内容的增删改,不影响其地址。举例如下:

>>> a = 1
>>> id(a)
8634072
>>> a = a + 1
>>> id(a)
8634096 #不可变对象,内容变了地址也会变

>>> b = [1, 2, 3]
>>> id(b)
45921800
>>> b[0] = 0
>>> id(b)
45921800 #可变对象,内容变了地址不变

 

欢迎来到 爱可可Q&A ,有什么问题可以尽管在这里提问,你将会收到其他成员的热心回答。
...