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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论