gpt4 book ai didi

python - 有没有更好的方法在 Python 中获取命名的一系列常量(枚举)?

转载 作者:IT老高 更新时间:2023-10-28 21:10:10 25 4
gpt4 key购买 nike

只是看看在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com