2017-05-09 65 views
1

是否有可能使用python中的函數清空字符串?是否可以使用python中的函數清空字符串?

例如:

otherText="hello" 

def foo(text): 
    text="" 

foo(otherText) 
print(otherText) 

打印

你好

代替空字符串。有沒有一種方法來清空字符串,而不分配返回值或使用全局變量?

回答

3

這是不可能的。有2個原因是

  1. Python的字符串是不可變

  2. 的Python實現所謂"call by sharing" evaluation strategy:通過共享

    調用的語義通過引用從通話的區別在於,分配到函數內的函數參數對於調用者不可見

2

正如zerkms所指出的那樣,嚴格來說是不可能的,python不會通過引用傳遞參數。

有一些技巧可以用作解決方法,例如傳遞包含字符串的列表或對象。

otherText=["hello"] 

def foo(text): 
    text[0]="Goodbye string" 

foo(otherText) 
print(otherText) //Goodbye string 
相關問題