擅长:python、mysql、java
<p>在<a href="https://www.python.org/dev/peps/pep-0205/" rel="nofollow noreferrer">PEP 205</a>中引用:</p>
<blockquote>
<p>Many built-in types will participate in the weak-reference management, and any extension type can elect to do so. <strong>The type structure will contain an additional field which provides an offset into the instance structure which contains a list of weak reference structures.</strong> If the value of the field is <= 0, the object does not participate. In this case, weakref.ref(), .<strong>setitem</strong>() and .setdefault(), and item assignment will raise TypeError. If the value of the field is > 0, a new weak reference can be generated and added to the list.</p>
</blockquote>
<p>您可以在源代码<a href="https://github.com/python/cpython/blob/master/Objects/weakrefobject.c" rel="nofollow noreferrer">here</a>中看到它是如何工作的。你知道吗</p>
<p>查看另一个答案,了解它存在的原因。你知道吗</p>