__weakref__
與弱引用有關。我得到了弱引用背後的全部想法,以及我可能在哪裏使用它們。我不明白的是在下面描述的唯一的事:爲什麼class .__ weakref__不是None,而instance .__ weakref__是None?
一個實例沒有屬性__weakref__
本身,從類不同,因此實例繼承__weakref__
從類,這意味着A.__weakref__
應該是一樣A().__weakref__
:
>>> class A: pass
...
>>> A().__dict__ # Each instance starts out as an empty namespace
{}
>>> A.__weakref__ is None;
False
>>> A().__weakref__ is None #But this is True!
True
爲什麼A.__weakref__
不None
而instance.__weakref__
是None
雖然實例繼承類__weakref__
?
*「,這意味着'甲.__ weakref__ '和'A().__ weakref__' *「一樣 - 顯然不是,所以你假設*」實例從類「*繼承'__weakref__'是不正確的。 'A .__ weakref__是A().__ weakref__'的計算結果爲'False'。 – jonrsharpe