Python在嵌套函数中覆盖变量
- 论坛
- Python在嵌套函数中覆盖变量
19 浏览
Python在嵌套函数中覆盖变量
假设我有以下的Python代码:
def outer(): string = "" def inner(): string = "嵌套函数改变了字符串!" inner() return string
我希望调用outer()能返回"嵌套函数改变了字符串!",但实际上返回的是""。我得出结论,Python认为string = "嵌套函数改变了字符串!"
这一行是在inner()函数内部声明一个新的局部变量。我的问题是:我如何告诉Python它应该使用外部的string变量?我不能使用global
关键字,因为这个字符串并不是全局的,它只是在外部作用域中存在。有什么办法吗?