欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python可修改和不可修改类型变量(mutuable and immutuable)

程序员文章站 2022-11-08 13:30:35
通俗的讲,可修改可以理解为可以在数据所在内存地址直接修改,而不可修改则意味着一旦修改便是创建新的数据对象,而不是在原来的对象内存地址修改1,Mutuable object [sourcecode language='python' ] List, dict, setL = [1,2,3]L.appe... ......

通俗的讲,可修改可以理解为可以在数据所在内存地址直接修改,而不可修改则意味着一旦修改便是创建新的数据对象,而不是在原来的对象内存地址修改

1,mutuable object

[sourcecode language='python' ]
list, dict, set
l = [1,2,3]
l.append(4)
#l [1,2,3,4]

d = {}
d['a'] = 1

[/sourcecode]
[sourcecode language='python'  padlinenumbers='true' htmlscript='false']
l = [1,2,3]
l.append(4)
#l [1,2,3,4]

[/sourcecode]
2,immutuable object

基本的类型,bool, int, float, str, frozenset(冻结的集合,不能添加或删除任何元素)

当判断两个变量是否指向同一对象时,可以用is,等价于两个对象所在内存地址相同

在cpython解释器中,id(object)函数返回的便是对象的内存地址,is便是判断两个对象id是否相同,id是对象的”身份证号”

[sourcecode language='python' ]
 
[/sourcecode]

[sourcecode language='python' ]
 
[/sourcecode]