Erlo

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

2019-07-29 23:03:12 发布   551 浏览  
页面报错/反馈
收藏 点赞

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

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]

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认