是否有可能使用python中的函數清空字符串?是否可以使用python中的函數清空字符串?
例如:
otherText="hello"
def foo(text):
text=""
foo(otherText)
print(otherText)
打印
你好
代替空字符串。有沒有一種方法來清空字符串,而不分配返回值或使用全局變量?
是否有可能使用python中的函數清空字符串?是否可以使用python中的函數清空字符串?
例如:
otherText="hello"
def foo(text):
text=""
foo(otherText)
print(otherText)
打印
你好
代替空字符串。有沒有一種方法來清空字符串,而不分配返回值或使用全局變量?
這是不可能的。有2個原因是
Python的字符串是不可變
的Python實現所謂"call by sharing" evaluation strategy:通過共享
調用的語義通過引用從通話的區別在於,分配到函數內的函數參數對於調用者不可見
正如zerkms所指出的那樣,嚴格來說是不可能的,python不會通過引用傳遞參數。
有一些技巧可以用作解決方法,例如傳遞包含字符串的列表或對象。
otherText=["hello"]
def foo(text):
text[0]="Goodbye string"
foo(otherText)
print(otherText) //Goodbye string