◐ Shell
clean mode source ↗

Issue 29008: Can't do dict comp from previously defined dict in the outermost scope of class defintion

class MyClass:
    a_dict = {'key':'value'}
    r_dict = {a_dict[k]:k for k in a_dict}
    
throws the error: 

Traceback (most recent call last):
  File "C:/Users/D/AppData/Local/Programs/Python/Python35-32/deleteme.py", line 1, in <module>
    class MyClass:
  File "C:/Users/D/AppData/Local/Programs/Python/Python35-32/deleteme.py", line 3, in MyClass
    r_dict = {a_dict[k]:k for k in a_dict}
  File "C:/Users/D/AppData/Local/Programs/Python/Python35-32/deleteme.py", line 3, in <dictcomp>
    r_dict = {a_dict[k]:k for k in a_dict}
NameError: name 'a_dict' is not defined