【发布时间】:2013-05-31 11:28:32
【问题描述】:
我想知道如何定义枚举,就像下面我在 JAVA 和 C 中所做的那样?
C:
typedef enum status{
OFFLINE = 1,
ONLINE = 2,
LOGIN =3
} STATUS_T;
【问题讨论】:
标签: python
我想知道如何定义枚举,就像下面我在 JAVA 和 C 中所做的那样?
C:
typedef enum status{
OFFLINE = 1,
ONLINE = 2,
LOGIN =3
} STATUS_T;
【问题讨论】:
标签: python
OFFLINE = 1
ONLINE = 2
LOGIN = 3
如果你想要STATUS_T.OFFLINE 的访问方式,你可以将它包装在一个类中。 Python 是一种动态类型的语言,因此枚举的概念没有什么意义,你所能做的就是拥有一系列有意义的值,你可以设置一些东西。
显然,在 3.4 中添加了一个等效项,请参阅How can I represent an 'Enum' in Python?
【讨论】:
不是真的。
最常见的习惯用法是在类级别定义一组常量:
class PhonyEnum(object):
OFFLINE = 1
ONLINE = 2
LOGIN = 3
您可以将它们用作常量:
if result == PhonyEnum.ONLINE:
do_something
其他人也在模块级别而不是类级别做同样的事情
【讨论】: