【发布时间】:2021-12-26 17:49:01
【问题描述】:
所以我有 2 个枚举,问题是第一个枚举引用了第二个枚举,而第二个枚举也引用了它。
from enum import Enum
class UniverseData:
def __init__(self, name, coordinate, civilisations)
self.civilisation_name = name
self.coordinate = coordinate
self.civilisation = civilisations
class CivilisationData:
def __init__(self, name, population_cap, universe)
self.name = name
self.population_cap = population_cap
self.universe = universe
class Universe(Enum):
Yievdal = UniverseData('Yievdal', 'X258RC', [Civilisation.HUMANITY, Civilisation.ERG, Civilisation.ELF])
Krastam = UniverseData('Krastam', 'X258BC', [Civilisation.MOJNA, Civilisation.CELES])
class Civilisation(Enum):
HUMANITY = CivilisationData('humanity', '11B', Universe.Yievdal)
ERG = CivilisationData('erg', '2B', Universe.Yievdal)
ELF = CivilisationData('elf', '2B', Universe.Yievdal)
MOJNA = CivilisationData('mojna', '50B', Universe.Krastam)
CELES = CivilisationData('celes', '110B', Universe.Krastam)
这里的问题是Universe枚举不能使用Civilization枚举,因为它是在下面声明的。
有没有办法解决这个问题?我希望能够在全宇宙枚举中拥有全宇宙文明。
谢谢。
【问题讨论】:
标签: python python-3.x oop enums