PY3.W0640

Cell var from loop

A variable used in a closure is defined in a loop. This will result in all closures using the same value for the closed-over variable.

Noncompliant Code:

Copy
def foo(numbers):
    for i in numbers:
        def bar():
            print(i)
        bar()

Compliant Code:

Copy
def bar(x):
    print(x)

def foo(numbers):
    for i in numbers:
        bar(i)

The content on this page is adapted from the Pylint User Guide, Copyright ©2003-2022, Logilab, PyCQA and contributors. All rights reserved. https://pylint.pycqa.org/en/latest/index.html#, and is used under the Python Software Foundation License Version 2. Examples, recipes, and other code in the Pylint documentation are additionally licensed under the Zero Clause BSD License.