【发布时间】:2021-11-29 08:39:05
【问题描述】:
我有一个 Enum 类站。 (我正在使用 aenum,一个“扩展”python 枚举的库,并允许使用同时具有整数和字符串的枚举) 此类 Station) 存储具有数字和字符串表示形式的常量。一切都好。
现在,我想存储 Station 对象的常量列表。我正在做的工作但感觉不对。 (我对python /编程有点陌生。)有人对此有建议吗? 谢谢。
这是我的代码:
from typing import List
from aenum import Enum
from abc import ABC
class Station(Enum):
_init_ = 'value string'
BASTILLE = 3, 'Bastille'
LEDRU = 1, 'Ledru Rollin'
REPU = 10, 'République'
CHATELET = 2, 'Châtelet les Halles'
OURCQ = 5, 'Ourcq'
def __str__(self):
return self.string
@property
def nb(self):
return self.value
class StationEnsemble(ABC):
name :str
stations : List[Station]
@property
def station_nbs_list(self):
return [st.nb for st in self.stations]
class RecentStations(StationEnsemble):
stations = [Station.OURCQ,Station.LEDRU,Station.CHATELET]
class EastStations(StationEnsemble):
stations=[Station.BASTILLE,Station.OURCQ,Station.CHATELET]
【问题讨论】:
-
如果有效,您应该将其发布到Code Review。这个 SE 网站旨在提供对工作代码的广泛审查。
-
为什么感觉不对?
-
@mkrieger1 : 创建多个只存储一个列表的类似乎有点过头了,但我没有什么经验,所以也许这很正常
-
您为什么要创建这些类而不是仅仅定义“常量”列表
RECENT_STATIONS = [Station.OURCQ, Station.LEDRU, Station.CHATELET]等? -
因为我需要使用 station_nbs_list 之类的方法稍微处理一下这些列表