我一直试图了解Python中global
变量的行为。从here开始,我认为我可以读取 外部范围中定义的任何变量。如果我想在内部范围 修改,我必须"声明"在 内部 范围内作为global
,以便Python根据其scoping rules查找它并知道我没有创建新的局部变量。
但为什么以下内容会正确打印变量a
和b
的值?
import sys
def func1():
print a # will print 1
print b # will print 2
return
def main():
global a
a = 1
global b
b = 2
func1()
return 0
if __name__ == '__main__':
status = main()
sys.exit(status)