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