首页 > 代码库 > Python 可变对象和不可变对象

Python 可变对象和不可变对象

具体可以看这里:http://thomaschen2011.iteye.com/blog/1441254

  • 不可变对象:int,string,float,tuple
  • 可变对象   :list,dictionary

 

可变对象和不可变对象在 python 中,如字面意思一样,可变对象一旦创建之后还可改变但是地址不会发生改变,即该变量指向的还是原来的对象。而不可变对象则相反,创建之后不能更改,如果更改则变量会指向一个新的对象。 
举个栗子: 

>>> s = abc # 不可变对象 >>> id(s) 3072200191 >>> s += d 3072200325 >>> l = [a,b,c] # 可变对象>>> id(l)  3072200074 >>> l += d >>> id(l) 3072200074 

会发现,对不可变对象进行添加元素的操作,会让变量指向对象地址发生改变,而可变对象地址则不会改变。 

python 内置对象中,中可变对象 list, dict. 不可变对象 str, int, tuple, float 

 

 

 

d

Python 可变对象和不可变对象