1, я впервые использовал Python версии 2.7, а через установленный модуль enum
.Почему наследование не работает хорошо для этого
from enum import Enum
class Format(Enum):
json = 0
other = 1
@staticmethod
def exist(ele):
if Format.__members__.has_key(ele):
return True
return False
class Weather(Enum):
good = 0
bad = 1
@staticmethod
def exist(ele):
if Weather.__members__.has_key(ele):
return True
return False
Format.exist('json')
Что хорошо работает, но я хочу улучшить код.
2, поэтому я думал, что лучший способ может быть таким:
from enum import Enum
class BEnum(Enum):
@staticmethod
def exist(ele):
if BEnum.__members__.has_key(ele)
return True
return False
class Format(Enum):
json = 0
other = 1
class Weather(Enum):
good = 0
bad = 1
Format.exist('json')
Однако это приводит к ошибке, поскольку BEnum.__members__
является переменной класса.
Как я могу заставить это работать?
извините, у меня первый код есть те же ошибки, я его модифицировал. – sungs
ths classmethod работает. Спасибо ! – sungs