1
当我在第二种情况下没有替换字符串的一部分(在该情况下,实际上是一个字母),它为什么会发生改变我用字符串的方法困惑.replace
in> #first case
in>print('Hello, World!'.replace('l','L'))
out>HeLLo, WorLd!
#second case
a = 'Hello, World!'
a.replace('l','L')
print(a)
out>Hello, World!
因为'replace'不会改变现有的字符串。它创建一个新的字符串版本并返回它。 – JCVanHamme
理解python字符串是不可变的是很重要的。 – polku
这样做a.replace('l','L')不会影响你的字符串'a',正如托托所说的,你必须将它分配给你的变量或其他变量。 – berthos