global
使全局变量在当前代码块中可见。您只能将global
语句放入main
,而不能放入attack
。
这说明了多次使用全局的必要性。尝试这个:
RED=1
def main():
global RED
RED += 1
print RED
f()
def f():
#global RED
RED += 1
print RED
main()
您将得到错误UnboundLocalError: local variable 'RED' referenced before assignment
。
现在取消注释f中的全局语句,它将起作用。
该global
声明在LEXICAL而不是DYNAMIC范围内处于活动状态。