擅长:python、mysql、java
<p>弱引用用于<em>避免</em>保留实例,而不是确保在引用对象时删除对象。你知道吗</p>
<p>当<code>SomeClass()</code>实例的所有<em>strong</em>引用都被删除时,<em>实例将只</em>从内存中被删除(任何不是弱引用的引用都是强引用)。你知道吗</p>
<p>如果<code>B().A</code>属性是对<code>SomeClass()</code>实例的<em>唯一</em>引用,那么当<code>B().A</code>引用反弹到其他对象或清除时,该实例将被删除(如果<code>B()</code>被删除,则<code>B().A</code>属性将自动清除),因为<code>SomeClass()</code>的引用计数降至0。你知道吗</p>
<p>换句话说,如果<code>B().A</code>是对<code>SomeClass()</code>的弱引用,并且没有其他<em>对<code>SomeClass()</code>的引用,则取消引用<code>B().A</code>将返回<code>None</code>,因为<code>SomeClass()</code>已经被删除。你知道吗</p>
<p>但是,在<code>B().A</code>的</em>外部使用弱引用可以确保<code>B().A</code>是对该<code>SomeClass()</code>实例的<em>唯一的</em>强引用。你知道吗</p>