标签:family float 列表 集合 地址 代码 一个 bsp 字符串
下面三小段代码,A的值都会改变么?
>>> A = "spam" >>> B = A >>> B = "shrubbery"
>>> A = ["spam"] >>> B = A >>> B[0] = "shrubbery"
>>> A = ["spam"] >>> B = A[:] >>> B[0] = "shrubbery"
“python中一切都是对象”
整数也好,字符串也罢,都是对象。这里,字符串"spam"、列表["spam"]、字符串"shrubbery"都是对象,而A和B则是这里对象的引用,引用可以理解成对这个对象的地址,或者这个对象的名字。
对象又分为可变对象和不可变对象:
Python中,数值类型(int
和float
)、字符串str、元组tuple都是不可变类型。而列表list、字典dict、集合set是可变类型。
OK,有了上面的认识,我们就可以撸开袖子分析了。
工欲善其事,必先利其器。一个函数可以帮我们分析A和B是否引用的同一个对象--id(),id()函数用于获取对象的内存地址。
标签:family float 列表 集合 地址 代码 一个 bsp 字符串
原文地址:https://www.cnblogs.com/ralap7/p/8955122.html