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。