擅长:python、mysql、java
<p>任何对象的<code>id</code>都应该是唯一的,因此<code>id(Car()) == id(Car())</code>似乎应该是<code>False</code>,但它的计算结果是<code>True</code>。但是,对象的<code>id</code>只保证在该对象的生存期内是唯一的。因为这些<code>Car</code>对象是暂时的,所以它们的持续时间只够传递给<code>id()</code>然后被垃圾收集。Python正在计算<code>==</code>的一边、垃圾收集,然后计算另一边。在这个过程中,<code>id</code>会被每个<code>Car()</code>对象重用。你知道吗</p>
<p>有关详细说明,请参见<a href="https://stackoverflow.com/a/20753450/1322401">abarnert's answer</a>到<a href="https://stackoverflow.com/questions/20753364/why-is-the-id-of-a-python-class-not-unique-when-called-quickly">Why is the id of a Python class not unique when called quickly?</a></p>