当我宣布一个全局变量时,我不确定它为什么不起作用......
first_read = True
def main():
if (first_read == True):
print "hello world"
first_read = False
print 'outside of if statement'
if __name__ == '__main__':
main()
我的追踪显示以下错误:
回溯(最近一次呼叫最后一次):文件" true.py",第12行,in main()文件" true.py",第5行,在main中 if(first_read == True):UnboundLocalError:local variable' first_read'在分配前引用
答案 0 :(得分:2)
您必须将变量定义为全局:
first_read = True
def main():
global first_read
if (first_read == True):
print "hello world"
first_read = False
print 'outside of if statement'
if __name__ == '__main__':
main()
答案 1 :(得分:2)
在def main
中,你应该声明一个这样的全局变量:
global first_read
这将在主函数中使用first_read
作为全局变量。