如何通过函数调用设置全局变量?

时间:2016-08-03 19:49:10

标签: python

我正在尝试将函数edl_loading中的全局变量True的值更改为edl_flashing,不知何故它不起作用?任何人都可以帮助理解为什么print edl_loading在致电False后打印edl_flashing,其中我将值更改为True

def edl_flashing():
    edl_loading = True
    print edl_loading


def main ():
    global edl_loading
    edl_loading = False
    print edl_loading
    edl_flashing()
    print edl_loading #Why this prints as False
if __name__ == '__main__':
    main()

输出: -

False
True
False

1 个答案:

答案 0 :(得分:1)

您需要在两个函数中使用global - mainedl_flashing

def edl_flashing():
    global edl_loading
    edl_loading = True
    print edl_loading

如果函数中没有全局声明,则变量名称是函数的本地声明。

以上更改打印出来

False
True
True