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

这篇文章主要介绍了python中可变对象与不可变对象有什么区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中可变对象与不可变对象有什么区别文章都会有所收获,下面我们一起来看看吧。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名雅安服务器托管、营销软件、网站建设、繁昌网站维护、网站推广。

可变数据类型:列表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中可变对象与不可变对象有什么区别”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


网页题目:python中可变对象与不可变对象有什么区别
文章来源:http://ybzwz.com/article/gsgpio.html