擅长:python、mysql、java
<p>简短回答您的问题-Python缓存范围为[-5256]的整数。在</p>
<p>因此,无论何时执行<code>var1 = 10</code>或<code>var1 = 1</code>,总是从整数缓存中获取相同的对象,这就是为什么即使在函数的不同运行中也会看到相同的<code>id</code>。在</p>
<p>如果对大于或等于257的值进行尝试,可能会看到不同的结果。在</p>
<p>一个非常简单的行为例子-</p>
<pre><code>>>> var1 = 257
>>> var2 = 257
>>> id(var1)
36635792
>>> id(var2)
36636304
>>> var1 = 10
>>> var2 = 10
>>> id(var1)
1642386016
>>> id(var2)
1642386016
</code></pre>