python 可变数据和不可变数据解析

python 的数据类型和C不一样,有一种类型:可变类型 (mutable)和不可变类型(immutable)

 

Python中所有变量都是值的引用,也就说变量通过绑定的方式指向其值。 而这里说的不可变指的是值的不可变。 对于不可变类型的变量,如果要更改变量,则会创建一个新值,把变量绑定到新值上,而旧值如果没有被引用就等待垃圾回收。不可变的类型还有一个特性,就是可以计算其hash值,这样才能进一步作为字典的key。可变类型数据对对象操作的时候,不需要再在其他地方申请内存,只需要在此对象后面连续申请(+/-)即可,也就是它的address会保持不变,但区域会变长或者变短。

不可变类型包括:int string float tuple

可变类型包括:list dict

posted on 2013-08-14 17:52  bbsno  阅读(162)  评论(0编辑  收藏  举报

导航