在函数内部声明全局
Declaring global inside a function
最近,我不得不编写如下所示的函数:
fruits = []
def foo():
global fruits
...
行 global fruits
到底是做什么的?如果以前有人问过这个问题,我很抱歉,但我找不到这样的问题。
它告诉编译器绑定名称应该在模块范围而不是本地范围内执行。如果您只是简单地改变对象(例如 fruits.append('apple')
),它就没有用。
最近,我不得不编写如下所示的函数:
fruits = []
def foo():
global fruits
...
行 global fruits
到底是做什么的?如果以前有人问过这个问题,我很抱歉,但我找不到这样的问题。
它告诉编译器绑定名称应该在模块范围而不是本地范围内执行。如果您只是简单地改变对象(例如 fruits.append('apple')
),它就没有用。