作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
只是看看在 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
(本文取自 here )
关于python - 有没有更好的方法在 Python 中获取命名的一系列常量(枚举)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/196876/
我是一名优秀的程序员,十分优秀!