我试图从字典中生成一个类:
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())
但我肯定我记得在某个地方看到过类似于第一个示例的代码。有人知道是否可以写出类似于第一种形式的东西吗?
Tags:
我不知道你在做什么。我可以给您一个在for循环中向类添加类属性的示例:
记住,for必须在定义整个类之后运行。您会得到一个错误,即attr没有定义,因为您想在创建类之前访问它(
class ...
是python中的一个语句,它创建了一个类对象)。创建类和rememeber后必须添加属性,这些属性将是类属性,而不是实例属性。虽然不是很优雅,但是可以使用
locals()
:相关问题 更多 >
编程相关推荐