python中可变对象与不可变对象的区别是什么

今天就跟大家聊聊有关python中可变对象与不可变对象的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联专业为企业提供南平网站建设、南平做网站、南平网站设计、南平网站制作等企业网站建设、网页设计与制作、南平企业网站模板建站服务,10多年南平做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

可变数据类型:列表list和字典dict;可变数据类型,允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象;

# 对于不可变对象,内存中只保存一份
a=(1,1)   
b=(1,1)
print(a==b)        # true
print(a is b)      # id相同,true
# 对于可变对象,每个对象的id不同,相同值的对象保存多份
a=[1,1]   
b=[1,1]
print(a==b)        # true
print(a is b)      # id不相同,false

看完上述内容,你们对python中可变对象与不可变对象的区别是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


名称栏目:python中可变对象与不可变对象的区别是什么
链接URL:http://pwwzsj.com/article/pghdsj.html