久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

c - 為什么python中值相等的兩個變量會指向同一個內(nèi)存地址?

瀏覽:111日期:2022-07-30 11:48:25

問題描述

http://www.cnblogs.com/lolein... 下面是這個文章里面所演示的代碼,

>>> a=1>>> b=1>>> id(a)40650152>>> id(b)40650152>>> a=2>>> id(a)40650140

我有點費解的就是,按道理a和b完全就不是同一個變量,那么理論上他們無論值是什么,都應(yīng)該是放在兩個不同的內(nèi)存空間啊,為什么他們相等的時候就放在了同一個內(nèi)存空間呢?難道是python的運行時環(huán)境會自動判斷他們的值,如果相同就放到同一個內(nèi)存空間,為的是節(jié)省內(nèi)存占用嗎?

問題解答

回答1:

Python實現(xiàn)int的時候有個小整數(shù)池。為了效率, Python首先在內(nèi)心里創(chuàng)建出這些整數(shù),然后復(fù)用了這部分整數(shù),創(chuàng)建一個值為1的int,其實直接從這個池里拿出1。一般是-5到257。你弄個1000 500啥的看看。就不會這樣了。看看這個:python整數(shù)對象實現(xiàn)

回答2:

為了性能上的優(yōu)化而使用了常量池。而且這也不是 python 獨有的,很多其他語言也使用了類似的技巧。

回答3:

https://github.com/python/cpy...

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 陆河县| 新竹市| 广东省| 蒙阴县| 朔州市| 伊通| 鸡东县| 卢龙县| 巴楚县| 株洲县| 富锦市| 沙坪坝区| 富宁县| 虹口区| 凉城县| 肃南| 萍乡市| 论坛| 新丰县| 诏安县| 桃园县| 景谷| 明光市| 盐亭县| 叶城县| 天峻县| 开原市| 都昌县| 兴和县| 东台市| 太仆寺旗| 阳谷县| 松溪县| 大化| 兴仁县| 临高县| 启东市| 海淀区| 汝阳县| 屯留县| 小金县|