Using classes to keep predefined strings
这是定义这样一个类的好方法:
1 2 3 4 5 | class states: INACTIVE = 'Inactive' ACTIVE = 'Active' PENDING = 'Pending' BANNED = 'Banned' |
保留可能值的列表,然后将它们作为例如
我认为这个解决方案没问题。 但也许我会将这些常量添加到用户类:
1 2 3 4 5 6 7 8 | class User: STATUS_INACTIVE = 'Inactive' STATUS_ACTIVE = 'Active' STATUS_PENDING = 'Pending' STATUS_BANNED = 'Banned' def __init__(self): self.status = User.STATUS_ACTIVE |
我在很多地方使用它。 并认为这是完全可以的。
您还可以在不同的
1 2 3 4 5 | # states.py INACTIVE = 'Inactive' ACTIVE = 'Active' PENDING = 'Pending' BANNED = 'Banned' |
然后在你的代码中
1 2 3 4 5 | # example.py import states # ... stuff happens to create user instance user.status = states.BANNED |
使用此方法,不需要实例化类来从中提取变量。 我不知道这是否是最有效的路线,但它非常方便。
看起来你想要的是一个枚举。