【发布时间】:2011-12-17 16:03:54
【问题描述】:
假设我有以下 python 代码:
def outer():
string = ""
def inner():
string = "String was changed by a nested function!"
inner()
return string
我希望调用 outer() 以返回“字符串已被嵌套函数更改!”,但我得到了“”。我得出的结论是 Python 认为行 string = "string was changed by a nested function!" 是对 inner() 局部的新变量的声明。我的问题是:我如何告诉 Python 它应该使用 outer() 字符串?我不能使用global 关键字,因为该字符串不是全局的,它只是存在于外部作用域中。想法?
【问题讨论】: