SyntaxWarning: name 'x' is assigned to before global declaration global color Python

SyntaxWarning: name 'x' is assigned to before global declaration global color Python

这种报错很大原因是在同一个函数重复使用了global 声明

举个例子

x = 0

def func(a, b, c):
    if a == b:
        global x
        x = 10
    elif b == c:
        global x
        x = 20

在每次使用变量之前,不要立即进行全局声明,只需要在函数开始处使用它一次就行了,下面是正确的写法

x = 0

def func(a, b, c):
    global x # <- here
    if a == b:
        x = 10
    elif b == c:
        x = 20
参考连接:http://effbot.org/zone/syntaxwarning-name-assigned-to-before-global-declaration.htm

你可能感兴趣的:(python)