SyntaxWarning: name 'spam' is assigned to before global declaration
例:
x = 0 def func(a, b, c): if a == b: global x x = 10 elif b == c: global x x = 20
If you run this in a recent version of Python, the compiler will issue aSyntaxWarning pointing to the beginning of the func function.
Here’s the right way to write this:
x = 0 def func(a, b, c): global x # <- here if a == b: x = 10 elif b == c: x = 20
修改全局变量在函数改变修改前定义即可