【发布时间】:2017-11-14 14:00:50
【问题描述】:
我只是在 python 中浏览可变和不可变结构。 在 Python 中写到“字符串是不可变的”,即我们无法更改它们 考虑代码:
str1='Rohit'
str1.replace('R','M')
这给出了输出:
'Mohit'
现在,有人说是变量 str1 指向字符串“Rohit”,在 str1.replace() 之后它指向“Mohit” 考虑这段代码:
'Rohit'.replace('R','M')
这也给了我输出:
'Mohit'
那么“字符串是不可变的”是什么意思?
【问题讨论】:
-
"有人说是变量 str1 指向字符串 'Rohit' 而在 str1.replace() 之后它指向 'Mohit'" 你可以告诉那个人他错了。
str1不会更改,除非您执行str1 = str1.replace(...),在这种情况下,它会被分配一个新字符串,旧的字符串会被丢弃,但不会更改。 -
如果你想做 str[0]="M" 你就做不到。
标签: python string replace immutability mutability