类实例的__dict__
属性对于将给定对象映射到类实例非常有用dict
(字典的键在过程中成为类实例属性)。
例子:
>>> class SomeClass(object):
... def __init__(self):
... self.numbers = [1, 3, 5, 7, 9]
...
>>> inst = SomeClass()
>>> inst.__dict__
{'numbers': [1, 3, 5, 7, 9]}
>>> inst.__dict__.update({
... 'letters': ['a', 'b', 'c', 'd'],
... 'numbers': [2, 4, 6, 8, 10]
... })
>>> inst.letters, inst.numbers
(['a', 'b', 'c', 'd'], [2, 4, 6, 8, 10])
但是,如果类属性声明如下:
>>> class SomeClass(object):
... numbers = [1, 3, 5, 7, 9]
...
>>> inst = SomeClass()
>>> inst.__dict__
{}
在这种情况下有没有办法访问它们?我的意思是,有没有办法独立于其他特殊类属性(例如方法或默认属性)列出它们?