日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

對Python中小整數對象池和大整數對象池的使用詳解

系統 2064 0

1. 小整數對象池

整數在程序中的使用非常廣泛,Python為了優化速度,使用了小整數對象池, 避免為整數頻繁申請和銷毀內存空間。

Python 對小整數的定義是 [-5, 256] 這些整數對象是提前建立好的,不會被垃圾回收。在一個 Python 的程序中,無論這個整數處于LEGB中的哪個位置,

所有位于這個范圍內的整數使用的都是同一個對象。同理,單個字母也是這樣的。

            
In [1]: a=-5

In [2]: b=-5

In [3]: a is b
Out[3]: True

In [4]: a=256

In [5]: b=256

In [6]: a is b
Out[6]: True

In [7]: a=1000

In [8]: b=1000

In [9]: a is b
Out[9]: False
intern機制處理空格一個單詞的復用機會大,所以創建一次,有空格創建多次,但是字符串長度大于20,就不是創建一次了。
In [13]: a="abc"

In [14]: b="abc"

In [15]: a is b
Out[15]: True

In [16]: a="helloworld"

In [17]: b="helloworld"

In [18]: a is b
Out[18]: True

In [19]: a="hello world"

In [20]: b="hello world"

In [21]: a is b
Out[21]: False
 

s1 = "abcd"
s2 = "abcd"
print(s1 is s2)

s1 = "a" * 20
s2 = "a" * 20
print(s1 is s2)

s1 = "a" * 21
s2 = "a" * 21
print(s1 is s2)

s1 = "ab" * 10
s2 = "ab" * 10
print(s1 is s2)

s1 = "ab" * 11
s2 = "ab" * 11
print(s1 is s2)
# True
# True
# False
# True
# False

          

2.大整數對象池。說明:終端是每次執行一次,所以每次的大整數都重新創建,而在pycharm中,每次運行是所有代碼都加載都內存中,屬于一個整體,所以

這個時候會有一個大整數對象池,即處于一個代碼塊的大整數是同一個對象。c1 和d1 處于一個代碼塊,而c1.b和c2.b分別有自己的代碼塊,所以不相等。

            
C1.b is C2.b
In [22]: a=1000

In [23]: b=1000

In [24]: a is b
Out[24]: False

In [25]: a=-1888

In [26]: b=-1888

In [27]: a is b
Out[27]: False

In [28]: 
c1 = 1000
d1 = 1000
print(c1 is d1) # True

class C1(object):
  a = 100
  b = 100
  c = 1000
  d = 1000


class C2(object):
  a = 100
  b = 1000


print(C1.a is C1.b) # True
print(C1.a is C2.a) # True
print(C1.c is C1.d) # True
print(C1.b is C2.b) # False

          

以上這篇對Python中小整數對象池和大整數對象池的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 定兴县| 茌平县| 杭锦后旗| 来安县| 沧源| 阿尔山市| 湄潭县| 利川市| 平湖市| 英德市| 丰镇市| 泸州市| 育儿| 宁明县| 桦南县| 安陆市| 玛多县| 滨州市| 麻城市| 白水县| 道真| 盘山县| 曲靖市| 微博| 土默特右旗| 呼伦贝尔市| 衢州市| 龙口市| 吉水县| 大田县| 准格尔旗| 治县。| 霸州市| 漾濞| 三亚市| 通河县| 大足县| 金华市| 贺兰县| 桃源县| 鄂尔多斯市|