假設我有以下Python代碼:Python中的嵌套函數覆蓋變量
def outer():
string = ""
def inner():
string = "String was changed by a nested function!"
inner()
return string
我想打電話外()返回!「字符串是由一個嵌套函數改變」,但我得到「」 。我得出這樣的結論:Python認爲string = "string was changed by a nested function!"
這行是對inner()局部變量的新變量的聲明。我的問題是:我如何告訴Python它應該使用outer()字符串?我無法使用global
關鍵字,因爲該字符串不是全局的,它只是位於外部作用域中。想法?
可能相關:http://stackoverflow.com/q/146359/212218 – 2011-10-28 23:48:20