请注意,Python 2.7中的最佳实践是使用新型类(Python 3不需要),即
class Foo(object): ...
同样,“对象”和“类”之间也存在差异。要从任意对象构建字典,只需使用即可
__dict__。通常,您将在类级别声明方法,并在实例级别声明属性,因此
__dict__应该没问题。例如:
>>> class A(object):... def __init__(self):... self.b = 1... self.c = 2... def do_nothing(self):... pass...>>> a = A()>>> a.__dict__{'c': 2, 'b': 1}更好的方法(由robert建议在注释中使用)是内置vars函数:
>>> vars(a){'c': 2, 'b': 1}另外,根据您要执行的操作,最好继承自dict。那么您的课程已经是字典,并且如果您愿意,可以覆盖getattr和/或setattr调用并设置字典。例如:
class Foo(dict): def __init__(self): pass def __getattr__(self, attr): return self[attr] # etc...



