【发布时间】:2012-01-27 17:16:39
【问题描述】:
使用 Python 3,我将 flufl.enum 代码解包到我的应用程序源代码树中,只是为了尝试一下。示例代码:
from taurine.flufl.enum import Enum
class Colors(Enum):
red = 1
green = 2
blue = 3
print(Colors.red)
red = Colors.red
print("red == Colors.red "+str(red == Colors.red))
print("red == Colors.blue "+str(red == Colors.blue))
print("red is Colors.red "+str(red is Colors.red))
除了打印(Color.red)之外,一切都按预期工作。根据http://packages.python.org/flufl.enum/docs/using.html,我希望它打印“Colors.red”,但它正在打印 1。熟悉这个包的任何人都知道是否有办法让它打印“Colors.red”?我在图书馆的网站上发布了一个问题,但我认为这里的人可能也有经验。
编辑:如果我用以下方式定义颜色,它会按预期工作:
Colors = make_enum('Colors','red green blue')
但我更喜欢以下语法:
class Colors(Enum):
red = 1
green = 2
blue = 3
【问题讨论】: