Python-为什么不调用Python字符串方法,除非指定它的输出?

我尝试做一个简单的字符串替换,但是我不知道为什么它似乎不起作用:

X = "hello world"

X.replace("hello", "goodbye")

我想将单词更改hellogoodbye,因此应将字符串更改"hello world""goodbye world"。但是X仍然存在"hello world"。为什么我的代码不起作用?

回答:

这是因为字符串在Python中是不可变的。

这意味着将X.replace("hello","goodbye")返回的副本,X其中包含已替换的副本。因此,你需要替换此行:

X.replace("hello", "goodbye")

用这一行:

X = X.replace("hello", "goodbye")

更广泛地说,这是所有Python字符串的方法是“就地”修改字符串的内容真实,例如replace,strip,translate,lower/ upper,join,...

如果要使用它而不要丢弃它,则必须将其输出分配给某些东西,例如

X  = X.strip(' \t')

X2 = X.translate(...)

Y = X.lower()

Z = X.upper()

A = X.join(':')

B = X.capitalize()

C = X.casefold()

等等。

以上是 Python-为什么不调用Python字符串方法,除非指定它的输出? 的全部内容, 来源链接: utcz.com/qa/409146.html

回到顶部