__weakref__
bezieht sich auf schwache Referenzen. Ich bekomme die ganze Idee hinter schwachen Referenzen und wo ich sie verwenden könnte. Das einzige, was ich nicht in dem folgenden beschrieben erhalten:Warum ist die Klasse .__ weakref__ nicht None, während die Instanz .__ weakref__ keine ist?
hat eine Instanz nicht das Attribut __weakref__
selbst, die sie von der Klasse, also die Instanz erbt__weakref__
aus der Klasse, bedeutet dies, dass A.__weakref__
sollte die gleiche sein wie 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
Warum A.__weakref__
nicht None
während instance.__weakref__
ist None
ist, obwohl Instanzen __weakref__
aus der Klasse erben?
* "Dies bedeutet, dass' A .__ weakref__ 'ist das gleiche wie' A() .__ weakref__' "* - eindeutig nicht, also ist Ihre Annahme, dass *" Instanzen "__weakref__" von der Klasse "* erben, falsch. 'A .__ weakref__ ist A() .__ weakref__' ergibt" False ". – jonrsharpe