如何在Python中使用全局变量?

时间:2017-08-09 03:18:18

标签: python

当我宣布一个全局变量时,我不确定它为什么不起作用......

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'在分配前引用

2 个答案:

答案 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作为全局变量。