替换在函数内部不起作用

时间:2018-03-13 00:28:02

标签: python function

当我尝试在函数中使用replace时,我注意到以下奇怪的行为。我们假设我们有以下功能:

def string_replace(string, arg):
    string.replace(arg, "")
    return string

这个函数应该摆脱arg参数中的string,但它似乎不起作用。例如:

string_replace('There.', '.') < There.

但如果我输入: "There.".replace(".", "")一切顺利。

任何合理的解释?

1 个答案:

答案 0 :(得分:2)

在Python中,字符串是不可变的,因此您不会在适当的位置修改它。以下任何一种都可以使用:

def string_replace(string, arg):
    string = string.replace(arg, "")
    return string

def string_replace(string, arg):
    return string.replace(arg, "")