【发布时间】:2019-09-05 11:56:21
【问题描述】:
考虑以下示例:
(Python 3.7.2)
>>> a = '1'
>>> id(a)
4364850768
>>> a += '2'
>>> id(a)
4365285672
>>> a += '3'
>>> id(a)
4365285672
我的理解是,当一个字符被附加到字符串a 时,会创建一个新对象,并复制旧对象的内容并添加新字符。当 ids 更改时附加 2 时似乎是这种情况,但附加 3 时似乎不是这种情况。我正在寻找关于为什么第二次不更改 id 的一些说明。
【问题讨论】:
-
吹毛求疵:根据定义,不可变对象不会改变。您是正确的,创建了一个新对象。
标签: python