我试图从字典生成一个类:

class attr:
    for key in objects_type:
        setattr(attr, key, lambda cl: list())

这给出了在 for 循环期间未定义 attr 的错误。我知道我可以写:
class attr:
    pass
for key in objects_type:
    setattr(attr, key, lambda cl: list())

但我确信我记得在某处看到过类似于第一个示例的代码。有谁知道是否可以写出类似于第一种形式的东西?

最佳答案

虽然它不是很优雅,但您可以使用 locals() :

>>> class c(object):
...     for i in range(10):
...         locals()['A' + str(i)] = i
...
>>> c.A0
0
>>> c.A7
7

关于python - 在 Python 中使用 for 循环添加类属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2265402/

10-13 06:44