Python中不可变类型和可变类型详解
1. 什么是不可变类型
变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间。
不可变类型:
数字(int,long,float)
布尔(bool)
字符串(string)
元组(tuple)
案例一:

结果:
两个不同的数字
案例二:

结果:
两个不同的数字
2. 什么是可变类型
变量对应的值中的数据可以被修改,但内存地址保持不变。
不可变类型:
列表(list)
字典(dict)
案例一:

结果:
两个相同的数字
['刘备', '关羽', '张飞', '赵云
案例二:

结果:
两个相同的数字
{'name': '刘备', 'age': 20}
3. 为什么生成以上两种情况
因为python中的值是通过引用(地址值)传递的,不可变类型的值一旦被修改后会创建一个内存空间并且生成新的地址值,可变类型的值会在原内存空间中被修改。
4. 不可变类型执行过程和内存分析


感谢源码时代教学讲师提供此文章!
创新互联服务项目包括江海网站建设、江海网站制作、江海网页制作以及江海网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,江海网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到江海省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
名称栏目:Python中不可变类型和可变类型详解
标题网址:http://pwwzsj.com/article/ipohpc.html