千家信息网

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

发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章主要介绍了python中可变对象与不可变对象有什么区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中可变对象与不可变对象有什么区别文章都会有所收获,
千家信息网最后更新 2024年11月13日python中可变对象与不可变对象有什么区别

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

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

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

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

关于"python中可变对象与不可变对象有什么区别"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python中可变对象与不可变对象有什么区别"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0