如果我有这样的代码:
from enum import Enum
class MainClass:
class Options(Enum):
OPTION1=1
OPTION2=2
OPTION3=3
class InternalOperation:
def function1(self, o):
if o == Options.OPTION1:
x=0
......
function1= staticmethod(function1)
我在执行此操作时遇到问题,并且不知道是否可以使枚举类对主类中的第二个类可见,以及如何实现。
答案 0 :(得分:0)
您需要明确指定外部类MainClass.Options.OPTION1
:
from enum import Enum
class MainClass:
class Options(Enum):
OPTION1=1
OPTION2=2
OPTION3=3
class InternalOperation:
def function1(self, o):
if o == MainClass.Options.OPTION1:
x= 0
如果您使用self
作为第一个参数,请不要将其设为静态方法。