You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pyflakes gives no errors here. But believe it or not, this raises a NameError
Traceback (most recent call last):
File "test.py", line 1, in <module>
class Test:
File "test.py", line 4, in Test
c = [i*j for i in a for j in b]
File "test.py", line 4, in <listcomp>
c = [i*j for i in a for j in b]
NameError: name 'b' is not defined
$python test.py
Traceback (most recent call last):
File "test.py", line 6, in <module>
class Test2:
File "test.py", line 8, in Test2
a = [x for i in range(2)]
File "test.py", line 8, in <listcomp>
a = [x for i in range(2)]
NameError: name 'x' is not defined
Pyflakes gives no errors here. But believe it or not, this raises a NameError
The reason has to do with how Python treats the outermost comprehension iterable differently. See https://stackoverflow.com/questions/13905741/accessing-class-variables-from-a-list-comprehension-in-the-class-definition. Note that the following does not give any errors when executed
The text was updated successfully, but these errors were encountered: