优草派 > Python

Python集合内的元素是可变的吗?Python数据类型解析

罗西汉         优草派

学习过python的小伙伴都知道python之中有好几种基础数据类型,但是对于这些数据类型的处理机制却不是很了解。那么下文将会来介绍一下python可变类型和不可变类型的相关知识,以及对这两个类型的解析。

Python集合内的元素是可变的吗?Python数据类型解析

一、集合可变吗

python之中集合是可变类型,它里面的元素也都是可变的,以一个示例来举例:

s = {1,'d','34','1',1}
print(s,type(s),id(s))
s.add('djx')
print(s,type(s),id(s))
result:
{'d', 1, '34', '1'}
{1, '34', 'djx', '1', 'd'}

在上面这个例子之中的变量s是一个集合对象,那么对这个集合进行添加等操作改变的都是集合本身的值而不是副本的值。

二、可变和不可变类型

python数据类型中的数字、字符串、元组是不可变的数据类型,列表、字典和集合是可变的数据类型。划分他们是否为可变和不可变的依据不是按照能否对这个数据类型进行增删改查的操作,而是看在进行添加删除元素或者是调用函数时这个数据类型的指针是否被改变了。

python是面向对象的语言,在python之中所有声明出来的对象都是以指针的形式存储在内存之中的。在对集合、列表等可变数据类型进行操作时虽然他们的元素改变了,但是在内存之中的指针还是指向原来的对象。

但是在对字符串、数字等不可变数据类型进行操作时,他们通常返回的会是一个新的对象。例如字符串str调用lower函数是虽然还可以使用str这个变量去接收结果,但是在内存之中指针指向的对象已经是新返回的字符串对象了。

以上就是关于python可变和不可变数据类型的解析了,希望对你有所帮助。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024