您可以使用
setattr(但是要小心:并非每个字符串都是有效的属性名称!):
>>> class AllMyFields:... def __init__(self, dictionary):... for k, v in dictionary.items():... setattr(self, k, v)... >>> o = AllMyFields({'a': 1, 'b': 2})>>> o.a1编辑:
让我解释一下上面的代码和SilentGhost的答案之间的区别。上面的代码片段创建了一个类,其 实例属性
基于给定的字典。SilentGhost的代码创建一个类,其 类属性 基于给定的字典。
根据您的具体情况,这些解决方案中的任何一个都可能更合适。您是否简单地创建一个或多个类实例?如果答案是一个,那么您也可以完全跳过对象的创建,而仅构造类型(并使用SilentGhost的答案)。



