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

发布时间:2022-05-18 11:53:01 作者:iii
来源:亿速云 阅读:311

这篇文章主要介绍了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中可变对象与不可变对象有什么区别”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Java不可变对象
  2. python可变和不可变对象有哪些?

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

python

上一篇:Python类方法和类方法静态方法实例分析

下一篇:python中迭代器与生成器有什么作用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》