中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

官方的Python解釋器怎么使用

發布時間:2022-10-13 09:32:04 來源:億速云 閱讀:122 作者:iii 欄目:編程語言

本篇內容介紹了“官方的Python解釋器怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

題目004:假設你使用的是官方的CPython,說出下面代碼的運行結果。
a, b, c, d = 1, 1, 1000, 1000
print(a is b, c is d)

def foo():
    e = 1000
    f = 1000
    print(e is f, e is d)
    g = 1
    print(g is a)

foo()

運行結果:

True False
True False
True

上面代碼中a is b的結果是Truec is d的結果是False,這一點的確讓人費解。CPython解釋器出于性能優化的考慮,把頻繁使用的整數對象用一個叫small_ints的對象池緩存起來造成的。small_ints緩存的整數值被設定為[-5, 256]這個區間,也就是說,在任何引用這些整數的地方,都不需要重新創建int對象,而是直接引用緩存池中的對象。如果整數不在該范圍內,那么即便兩個整數的值相同,它們也是不同的對象。

CPython底層為了進一步提升性能還做了另一個設定,對于同一個代碼塊中值不在small_ints緩存范圍內的整數,如果同一個代碼塊中已經存在一個值與其相同的整數對象,那么就直接引用該對象,否則創建新的int對象。需要大家注意的是,這條規則對數值型適用,但對字符串則需要考慮字符串的長度,這一點大家可以自行證明。

擴展:如果你用PyPy(另一種Python解釋器實現,支持JIT,對CPython的缺點進行了改良,在性能上優于CPython,但對三方庫的支持略差)來運行上面的代碼,你會發現所有的輸出都是True。

“官方的Python解釋器怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣阳市| 安徽省| 灌阳县| 安西县| 靖远县| 固原市| 微山县| 林口县| 台山市| 托克托县| 囊谦县| 绍兴县| 隆子县| 丹东市| 南投县| 乡宁县| 拜泉县| 虞城县| 德格县| 安宁市| 大方县| 临高县| 原平市| 大名县| 塘沽区| 库尔勒市| 达尔| 博罗县| 安图县| 岗巴县| 饶平县| 武川县| 绥阳县| 文安县| 张家界市| 惠州市| 定州市| 潮安县| 资讯| 巴东县| 巴中市|