重用原始物件

一個有趣的事情可能有助於優化你的應用程式,原始實際上也是在引擎蓋下重新安裝。我們來看看數字; 對於 -5 到 256 之間的所有整數,Python 總是重用相同的物件:

>>> import sys
>>> sys.getrefcount(1)
797
>>> a = 1
>>> b = 1
>>> sys.getrefcount(1)
799

請注意,refcount 增加,這意味著 ab 在引用 1 原語時引用相同的底層物件。但是,對於較大的數字,Python 實際上不會重用底層物件:

>>> a = 999999999
>>> sys.getrefcount(999999999)
3
>>> b = 999999999
>>> sys.getrefcount(999999999)
3

因為 999999999 的 refcount 在將它分配給 ab 時沒有改變,我們可以推斷它們引用兩個不同的底層物件,即使它們都被賦予相同的原語。