python

python中不可变的对象类型有哪些

摘星
1066
2021-05-28 19:19:34
栏目: 编程语言

python中不可变的对象类型有:1、int数字类型;2、string字符串类型;3、float浮点型;4、tuple元组。

python中不可变的对象类型有哪些

具体示例分析:

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的元素。

0
看了该问题的人还看了