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中可变对象与不可变对象有什么区别”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram