cell-var-from-loop / W0640#
Message emitted:
Cell variable %s defined in loop
Description:
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.
Problematic code:
def foo(numbers):
for i in numbers:
def bar():
print(i) # [cell-var-from-loop]
bar()
Correct code:
def bar(x):
print(x)
def foo(numbers):
for i in numbers:
bar(i)
Related links:
Created by the variables checker.