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