In the following setting
from enum import Enum
#class Enum2(Enum):
# bla = 1
class OuterClass:
class Enum1(Enum):
n1 = "v1"
n2 = "v2"
class EnumExtended(Enum):
a1 = "w1"
a2 = OuterClass.Enum1
#a2 = Enum2
def __init__(self):
a = OuterClass.EnumExtended
for e in a:
print(e, e.value)
I get the error message "NameError: name 'OuterClass' is not defined", pointing to the line a2 = OuterClass.Enum1
. Should OuterClass
not be visible there? How could I otherwise reference Enum1
at that place?
And to make things even more confusing, when I run the code in a jupyter notebook, after activating and using the definition of Enum2
(which is commented out in the sample above) instead of Enum1
and then switching back to Enum1
, the error is gone, but returns after a restart of the jupyter kernel. Does anyone have an explanation for this behaviour? Many thanks in advance!