是否可以使用python中的函数清空字符串?
例如:
otherText="hello"
def foo(text):
text=""
foo(otherText)
print(otherText)
打印
您好
而不是空字符串。有没有办法清空字符串而不指定返回值或使用全局变量?
答案 0 :(得分:3)
这是不可能的。这有两个原因
Python字符串是不可变的
Python实现了一个所谓的"call by sharing" evaluation strategy:
共享调用的语义与引用调用的不同之处在于函数中函数参数的赋值对调用者不可见
答案 1 :(得分:2)
如zerkms所述,严格说来是不可能的,python不会通过引用传递参数。
可以使用一些技巧作为变通方法,例如传递包含字符串的列表或对象。
otherText=["hello"]
def foo(text):
text[0]="Goodbye string"
foo(otherText)
print(otherText) //Goodbye string