不确定这是否可行,但我的目标是创建一个使用枚举器作为子类的基本抽象类。
以下是目前为止的代码以及/ isn是否正常工作。我想以某种方式能够引用"类颜色(枚举)"在我的" IdealUse"类。有什么需要改变的想法吗?
BaseClass.py
async
IdealUse.py
from abc import ABCMeta, abstractmethod
from enum import Enum
class Base(metaclass=ABCMeta):
default_color = 'yellow'
@abstractmethod
def get_a(self):
pass
class Colors(Enum):
blue = 1
green = 2
red = 3
Base.register(Colors)
答案 0 :(得分:0)
再次感谢那些回复的人。让我重新思考这些条款和我所要求的东西让我找到了一个有效的解决方案。
BaseClass.py
from abc import ABCMeta, abstractmethod
from enum import Enum
class Colors(Enum):
BLUE = 1
GREEN = 2
RED = 3
class Base(metaclass=ABCMeta):
default_color = 'yellow'
color_list = Colors
@abstractmethod
def get_a(self):
pass
IdealUse.py
from abstractbase import Base
class IdealUse(Base):
def __init__(self):
self.value_of_a = self.get_a() # this works
self.ideal_color = self.default_color # this works
self.color_of_sky = self.color_list(1) # now it returns blue!
def get_a(self):
return 'working'