Python 全局变量

a = 1

def test():
    print(a)


if __name__ == "__main__":

    global a
    a = 2
    test()

运行后,出现错误:
global a
^
SyntaxError: name ‘a’ is assigned to before global declaration

原因:
if __name__ == "__main__": 中的变量都是全局的,所以再一次声明global是错误的,系统会发出警告。

a = 1

def test():
    print(a)
    
if __name__ == "__main__":
    a = 2
    test()

>> 2

函数内部更改全局变量的值:

a = 1

def test():
   global a
   a = 3

def test1():
    print(a)


if __name__ == "__main__":

    a = 2
    test1()
    test()
    test1()
    
>>
2
3

版权声明:本文为weixin_43846270原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。