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]