当我尝试在函数中使用replace
时,我注意到以下奇怪的行为。我们假设我们有以下功能:
def string_replace(string, arg):
string.replace(arg, "")
return string
这个函数应该摆脱arg
参数中的string
,但它似乎不起作用。例如:
string_replace('There.', '.')
< There.
但如果我输入:
"There.".replace(".", "")
一切顺利。
任何合理的解释?
答案 0 :(得分:2)
在Python中,字符串是不可变的,因此您不会在适当的位置修改它。以下任何一种都可以使用:
def string_replace(string, arg):
string = string.replace(arg, "")
return string
def string_replace(string, arg):
return string.replace(arg, "")