0
比較對象的屬性和字典
class Results(object):
foo = 1
bar = 1
r = Results()
r.__dict__
Out[54]: {}
和
class Results(object):
def __init__(self):
self.foo = 1
self.bar = 1
r = Results()
r.__dict__
Out[57]: {'foo': 1, 'bar': 1}
我已經習慣了短期班做的第一情況下與大部分持有的屬性,它的短邏輯。 r.foo
將適用於這兩種情況,但顯然字典getter不會。
難道有人不久可以解釋在兩種方式建立類的差異?有沒有一種簡單的方法來協調第一種類型,這樣.__dict__
實際上會顯示所有的屬性?
爲什麼你想首先使用'__dict__'? – 2014-09-05 15:32:25
我想將一個'pandas'數據框中的對象屬性保存。 – FooBar 2014-09-05 15:35:54
我會使用'vars()'而不是'__dict__',但那也只會返回實例字典。下一個選項是通過'dir()'循環,然後使用'getattr()'訪問屬性。 – 2014-09-05 16:01:48