class FuzzyTime(Enum):
morning = 1
dawn = 2
noon = 3
midday = 4
afternoon = 5
evening = 6
sunset = 7
dusk = 8
night = 9
在这些情况下,我想代表晨曦;黎明,中午及下午;中午、傍晚、日落、黄昏和;夜是同义词。因此,理想情况下,我想要的是:
class FuzzyTime(Enum):
morning, dawn = 1
noon, midday = 2
afternoon = 3
evening, sunset, dusk, night = 6
当我使用它时,我想做如下事情:
if MORNING == FuzzyTime.morning:
pause
这可以匹配“上午”和“下午”黎明。可能吗
编辑: 当我使用它时,我想比较一个字符串是否与其中一个值匹配。假设我的字符串是:
s = 'morning'
if s == FuzzyTime.morning or s == FuzzyTime.dawn:
return get_morning_time(reference_time)
我只是想知道是否有一种方法可以避免编写'if s==或s=='语句。如果可能的话,我想去掉if语句中的'or',但达到同样的效果
你的要求有点奇怪,但是,字典怎么样
然后,您可以使用输入字符串“morning”,例如
我不明白你为什么要使用枚举值。您在字符串和枚举标签之间进行转换时已经遇到了问题。只需定义术语集:
从这里开始,只需使用“自然”Python操作符
in
。。。等等
输出:
这是否让你使用起来足够简单
你是说像这样的
更新:
使用
in
运算符:相关问题 更多 >
编程相关推荐