Python 可变对象和不可变对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 可变对象和不可变对象的主要内容,如果未能解决你的问题,请参考以下文章

python中的可变参数和不可变参数

python 可变对象和不可变对象

Python中的可变对象和不可变对象

Python札记3:可变对象和不可变对象

python 可变对象和不可变对象

python 深拷贝和浅拷贝之可变和不可变对象总结