我对字符串方法.replace感到困惑

时间:2017-05-19 12:33:47

标签: python 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!

2 个答案:

答案 0 :(得分:5)

您必须将替换结果分配给变量:

a = 'Hello, World!'
a = a.replace('l','L')
print(a)

答案 1 :(得分:1)

Documentation

  

返回字符串s的副本,其中所有出现的substring old都替换为new。如果给出了可选参数maxreplace,则替换第一个maxreplace事件。

正如@Toto已经提到的,你需要返回值。