2
我如何可以在init中創建類的屬性? 如果我使用此代碼:__init__在類中創建屬性
In [1]: import functools
In [2]: def test(id, wrap):
...: return id*2
In [3]: class A(object):
...: def __init__(self, id):
...: self.id = id
...: setattr(self.__class__, 'testing', property(functools.partial(test, self.id)))
In [4]: cl = []
In [5]: for i in range(5):
...: cl.append(A(i))
...:
In [6]: for b in cl:
...: print b.testing
我得到:
8
8
8
8
8
我明白爲什麼(因爲物業安裝類,而不是實例)。但我不明白如何將屬性添加到實例?如果使用的setattr自我,我得到:
<property object at 0x1018def70>
<property object at 0x1018e9050>
<property object at 0x1018e9100>
<property object at 0x1018e91b0>
<property object at 0x1018e9260>
我讀這個話題:create class properties,但不明白,怎麼把id來元類
我覺得這個方法,並嘗試做這個[專題](http://stackoverflow.com/questions/5078726/設置-A-財產內部-A-蟒法) – gigimon