相关疑难解决方法(0)

我怎样才能用Python代表'Enum'?

我主要是一名C#开发人员,但我目前正在使用Python开发一个项目.

我怎样才能在Python中表示Enum的等价物?

python enums python-3.x

1146
推荐指数
28
解决办法
80万
查看次数

我应该如何最好地模仿和/或避免使用Python中的枚举?

我一直在使用一个小类来模拟一些Python项目中的Enums.有没有更好的方法,或者这对某些情况最有意义?

这里的类代码:

class Enum(object):
'''Simple Enum Class
Example Usage:
>>> codes = Enum('FOO BAR BAZ') # codes.BAZ will be 2 and so on ...'''
def __init__(self, names):
    for number, name in enumerate(names.split()):
        setattr(self, name, number)
Run Code Online (Sandbox Code Playgroud)

python enums

5
推荐指数
2
解决办法
3452
查看次数

使用类来保存预定义的字符串

这是定义这样一个类的好方法吗:

class states:
    INACTIVE = 'Inactive'
    ACTIVE = 'Active'
    PENDING = 'Pending'
    BANNED = 'Banned'
Run Code Online (Sandbox Code Playgroud)

保留可能值的列表,然后将它们获取为,例如states.INACTIVE,所以当我想更改用户的状态时,我会执行以下操作:user.status=states.BANNED它会获取 value 'Banned'。我使用它通过 IDE 中的 IntelliSense 和 ctrl-space 快速访问这些值,并且它还可以更安全地防止拼写错误。不过,我不确定创建一个仅保留一些字符串的类是否是一个好方法。我怎样才能以更好的方式组织它,或者这是一个好的解决方案?

python

4
推荐指数
1
解决办法
436
查看次数

标签 统计

python ×3

enums ×2

python-3.x ×1