国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python的id()函數介紹

2020-02-23 04:51:04
字體:
來源:轉載
供稿:網友

>>> a = 2.5
>>> b = 2.5
>>> c = b
>>> a is c
False
>>> a = 2
>>> b = 2
>>> c = b
>>> a is c
True

在使用is函數的時候去打印a,b分別被賦值為2.5 和2的情況,發現:
>>> a = 2
>>> b = 2
>>> id(a)
21132060
>>> id(b)
21132060
>>> a = 2.5
>>> b = 2.5
>>> id(a)
19622112
>>> id(b)
29321464

當a,b為2的時候id相同,而為2.5的時候不同,這種情況在string字符串的時候也會出現,即當很短的a,b賦值很短的字符串的時候,它們的id值相同,而很長的則不會;

查閱了如下的文章:
http://stackoverflow.com/questions/4293408/ids-of-immutable-types
http://stackoverflow.com/questions/3402679/identifying-objects-why-does-the-returned-value-from-id-change
之后,得到一個簡單的結論:解釋器在對值很小的int和很短的字符串的時候做了一點小優化,只分配了一個對象,讓它們id一樣了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清远市| 莱阳市| 云安县| 金门县| 成安县| 龙井市| 南涧| 通化市| 三穗县| 滨州市| 曲周县| 三门县| 浮梁县| 湘阴县| 开阳县| 阜城县| 买车| 普定县| 沂源县| 兴国县| 都兰县| 珠海市| 梅河口市| 麦盖提县| 宜兰县| 潜江市| 泰顺县| 孟村| 黄梅县| 宁海县| 涡阳县| 普定县| 神农架林区| 鄱阳县| 隆昌县| 徐闻县| 建阳市| 泾源县| 绥阳县| 乌兰察布市| 尉犁县|