SyntaxWarning: name 'xxx' is assigned to before global declaration

python报错SyntaxWarning: name ‘xxx’ is assigned to before global declaration

内容

var = 'xxx'
if __name__ == '__main__':
    global var
    var = 'yyy'

输出:

$ python b.py
b.py:4: SyntaxWarning: name 'var' is assigned to before global declaration
global var

简介:

解释“global是全局变量,如果前面定义了x的值,后面x的值就不能变了”。

重点

使用def定义的函数在其引用全局变量时才需要声明该变量为global

揭秘

重点在于def,如果是在__name__,就无需添加global,其他def函数处才需要添加global。

你可能感兴趣的:(小错误,python)