我想分配一个"外部"从命令行参数的独立Python程序中的全局变量的值,让我的函数操纵它(请忽略一般不鼓励使用全局变量的事实)。我尝试过如下:
def my_function():
global global_var
global_var+=1
def main(argv):
global_var = sys.argv[1]
my_function()
if __name__ == "__main__":
main(sys.argv)
但由于以下原因,它无法正常工作:
NameError: global name 'global_var' is not defined
问题出现在global global_var
的{{1}}行中,尽管有明确的资格认证,但该函数似乎无法将其识别为全局。我想这是因为我的my_function
在global_var
的定义之前并不存在。但我无法在代码开头(my_function()
之前)定义global_var
,因为my_function()
应该站在最后,main()
解析程序参数。正确?