python replace函数替换无效问题

str = "hello,china!"
str.replace("hell","well")
print(str)

写代码时发现这样替换之后并没有替换成功。

原因:

在Python中字符串是是不可变对象。

所以字符串使用replace需要重新赋值,生成一个新的对象。

之前没有重新引用,导致该变量 指向的是 以前的对象,实则已经发生变化,只是没有重新引用而已。

所以要想打印出替换后的字符串需要重新赋值,如下:

str = "hello,china!"
str = str.replace("hell","well")
print(str)

这样就可以替换成功啦!!

原文地址:https://www.cnblogs.com/qilin20/p/12207901.html