验证错误:从外部范围重新定义外部名称

Tho*_*son 4 python scope pylint python-3.x

不确定我得到这个,但我从 pyLint 得到一个验证错误说:

Redefining name 'a' from outer scope (line 443) (redefined-outer-name)
Redefining name 'b' from outer scope (line 444) (redefined-outer-name)
Run Code Online (Sandbox Code Playgroud)

代码是这样的:

a = 98  # line 443
b = 90  # line 444

def prodNr(a, b):
    """Definiera prodNr"""
    return a * b

result = prodNr(a, b)

ANSWER = result
Run Code Online (Sandbox Code Playgroud)

谁能给我一个关于如何摆脱验证错误的线索?

Pad*_*ham 5

称你为其他变量:

def prodNr(a, b):
    """
    Definiera prodNr
    """

    return a * b
i = 98
j = 90
result = prodNr(i, j)
Run Code Online (Sandbox Code Playgroud)

您可以对传入的变量使用任何名称,而不必调用它们ab。它不会以任何方式影响您的代码,因为变量被传递到函数中,如果您在代码中的多个位置有 a 和 b 并且您决定更改avar_a但忘记在一个或两个位置更改它,这将是一个问题那么你会得到与你期望的不同的输出。