【发布时间】:2013-04-18 21:17:39
【问题描述】:
类实例的__dict__ 属性对于将给定的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__
{}
在这种情况下有没有办法访问它们?我的意思是,有没有办法独立于其他特殊类属性(例如方法或默认属性)列出它们?
【问题讨论】:
标签: python class dictionary