为什么不调用Python字符串方法做任何事情,除非你分配其输出?

问题:

我需要帮助简单的字符串替换,但我不知道我做错了什么。
我有这个字符串:
class=”lang-none prettyprint-override”>

hello world

我想将hello更改为goodbye,给我:
class=”lang-none prettyprint-override”>

goodbye world

我正在使用这段代码:
class=”lang-python prettyprint-override”>

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

但结果还是这样的:
class=”lang-none prettyprint-override”>

hello world

为什么我的代码不工作?

回答:

这是因为Python中的字符串是不可变的
这意味着X.replace("hello","goodbye")返回一份副本。因为您需要更换此行:

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

用这一行:

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why doesn’t calling a Python string method do anything unless you assign its output?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

7 + 2 =