python中不可變的對象類型有:1、int數字類型;2、string字符串類型;3、float浮點型;4、tuple元組。
具體示例分析:
1、int數字類型,嘗試修改數字對象。
#新建數字對象1000
>>> id(1000)
53060472L
#新建數字對象1000
>>> y = 1000
>>> id(y)
53060328L
#嘗試操作修改數字對象,實際上生成新的數字對象
>>> y = y + 1
>>> y
>>> id(y)
53058744L
2、對不可變對象str進行操作。
>>> a = 'abc'
>>> id(a)
52053576L
#引用新生成的對象
>>> b = a.replace('a','A')
>>> id(b)
47950704L
>>> id(a)
52053576L
>>> b
'Abc'
3、tuple元組相關示例。
>>> t = ('a', 'b', ['A', 'B'])
>>> t
('a', 'b', ['A', 'B'])
>>> hash(t)
Traceback (most recent call last):
File "
", line 1, in hash(t)
TypeError: unhashable type: 'list'
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
注意:從表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。