关于str不可变的问题
Topic sourcea和'abc'是两个独立个体
你这样写a确实变了,但是'abc'没变,'Abc'是新建的字符串
所以原本是只有a和'abc',同时a = 'abc'
replace之后不仅有a和'abc',又新建了一个'Abc',并且a = 'Abc','abc'仍然在,只是没有变量指向它了
id()
>>> a = 'abc'
>>> id(a)
2254526513712
>>> id('abc')
2254526513712
>>> a = a.replace('a', 'A')
>>> id(a)
2254556283568
>>> id('Abc')
2254556283696
>>> id('abc')
2254526513712
>>>
- 1
用户5646817530
a = 'abc'
a = a.replace('a','A')
这时a的值为Abc,老师,这个不可变对象这时不是已经改变了吗?