为什么像 .replace() 这样的字符串方法不直接在 Python 中更改字符串
当尝试使用 .replace() 等方法修改字符串时。在Python中使用replace()或.strip(),你可能会发现原始字符串保持不变。这种行为源于语言中字符串的不可变性。
不可变对象,顾名思义,不能就地修改。相反,对不可变对象调用方法会返回一个具有所需更改的新对象。例如,在 Python 中:
X = "hello world" new_string = X.replace("hello", "goodbye")
在上面的代码中,.replace() 返回一个进行替换的新字符串。然而,原始变量 X 仍然保存未修改的字符串“hello world”。要更新 X 的值,必须分配方法调用的结果:
X = X.replace("hello", "goodbye")
这个原则适用于 Python 中所有改变字符串内容的字符串方法,包括:
因此,如果您希望保留修改后的字符串,则必须将这些方法的输出分配给新变量或同一变量。
以上是为什么像`.replace()`这样的Python字符串方法不修改原始字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!