python中相同值不同名稱的整數變量的地址相同

       python中對於小的整數存在一個緩存池。爲了避免因創建相同的值而重複申請內存空間所帶來的效率問題, Python解釋器會在啓動時創建出小整數池,範圍是[-5,256],該範圍內的小整數對象是全局解釋器範圍內被重複使用,永遠不會被垃圾回收機制回收。

       對於在pycharm中,給變量賦值超出這個範圍時仍然地址相同,是因爲pycharm出於對性能的考慮,會擴大小整數池的範圍,其他的字符串等不可變類型也都包含在內一便採用相同的方式處理了,我們只需要記住這是一種優化機制,至於範圍到底多大,無需細究。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章