只是看看在python中获取命名常量的方法.
class constant_list: (A_CONSTANT, B_CONSTANT, C_CONSTANT) = range(3)
那么当然你可以像这样引用它:
constant_list.A_CONSTANT
我想你可以使用字典,使用字符串:
constant_dic = { "A_CONSTANT" : 1, "B_CONSTANT" : 2, "C_CONSTANT" : 3,}
并像这样引用它:
constant_dic["A_CONSTANT"]
那么,我的问题很简单.有没有更好的方法呢?不是说这些不足或什么,只是好奇 - 我错过了任何其他常见的习语吗?
提前致谢.
对于2.3或之后:
class Enumerate(object): def __init__(self, names): for number, name in enumerate(names.split()): setattr(self, name, number)
使用:
codes = Enumerate('FOO BAR BAZ')
codes.BAZ
将是2,依此类推.
如果您只有2.2,则在此前面加上:
from __future__ import generators def enumerate(iterable): number = 0 for name in iterable: yield number, name number += 1
(这是从这里取的)