亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 詳解python的變量緩存機(jī)制

詳解python的變量緩存機(jī)制

熱門標(biāo)簽:熱門電銷機(jī)器人 外呼電信系統(tǒng) 智能機(jī)器人電銷神器 河南虛擬外呼系統(tǒng)公司 萬利達(dá)百貨商場地圖標(biāo)注 okcc外呼系統(tǒng)怎么調(diào)速度 電話機(jī)器人哪里有賣 惠州龍門400電話要怎么申請 上海企業(yè)外呼系統(tǒng)

變量的緩存機(jī)制

變量的緩存機(jī)制(以下內(nèi)容僅對python3.6.x版本負(fù)責(zé))

機(jī)制

只要有兩個值相同,就只開辟一個空間

為什么要有這樣的機(jī)制

在計(jì)算機(jī)的硬件當(dāng)中,內(nèi)存是最重要的配置之一,直接關(guān)系到程序的運(yùn)行速度和流暢度。在過去計(jì)算機(jī)內(nèi)存資源昂貴而小的年代中,程序的內(nèi)存管理成為編程中的重要技術(shù)之一。python沒有C/C++中的指針那樣的定義可以編程者自主的控制內(nèi)存的分配,而是有一套自動的內(nèi)存地址分配和緩存機(jī)制。在這個機(jī)制當(dāng)中,可以把一些相同值的變量在內(nèi)存中指向同一塊區(qū)域,而不再重新開辟一個空間,這樣就達(dá)到了節(jié)省內(nèi)存的目的。


python中使用id()函數(shù)查看數(shù)據(jù)的內(nèi)存地址

number部分

整型

對于整型而言,-5~~正無窮的范圍內(nèi)的相同值的id地址一致

# 在后續(xù)的版本中所有的數(shù)的id地址都一致

# 相同
print(id(9999999), id(9999999))
print(id(100), id(100))
print(id(-5), id(-5))

# 不同
print(id(-6), id(-6))

浮點(diǎn)型

對于浮點(diǎn)型而言,非負(fù)數(shù)范圍內(nèi)的相同值id一致

# 相同
print(id(9999999.0), id(9999999.0))
print(id(100.0), id(100.0))

# 不同
print(id(-5.0), id(-5.0))
print(id(-6.0), id(-6.0))

布爾值

對于布爾值而言,值相同測情況下,id一致

# 相同
print(id(True), id(True))
print(id(False), id(False))

復(fù)數(shù)

復(fù)數(shù)在(實(shí)數(shù)+虛數(shù))這樣的結(jié)構(gòu)當(dāng)中永不相同,只有單個虛數(shù)相同才會一致

# 相同
print(id(1j), id(1j))
print(id(0j), id(0j))

# 不同
print(id(1234j), id(3456j))
print(id(1+1j), id(1+1j))
print(id(2+0j), id(2+0j))

容器部分

字符串

字符串在相同的情況下,地址相同

# 相同
print(id('hello '), id("hello "))

# 不同
print(id('msr'), id('wxd'))

字符串配合使*號使用有特殊的情況:

乘數(shù)為1:只要數(shù)據(jù)相同,地址就是相同的

# 等于1,和正常的情況下是一樣的,只要值相同地址就是一樣的
a = 'hello ' * 1
b = 'hello ' * 1
print(a is b)
a = '祖國' * 1
b = '祖國' * 1
print(a is b)

乘數(shù)大于1:只有僅包含數(shù)字、字母、下劃線時地址是相同的,而且字符串的長度不能大于20

# 純數(shù)字字母下劃線,且長度不大于20
a = '_70th' * 3
b = '_70th' * 3
c = '_70th_70th_70th'
print(a, id(a), len(a))
print(b, id(b), len(b))
print(c, id(c), len(c))
print(a is b is c)
'''
結(jié)果:
_70th_70th_70th 1734096389168 15
_70th_70th_70th 1734096389168 15
_70th_70th_70th 1734096389168 15
True
'''
# 純數(shù)字字母下劃線,長度大于20
a = 'motherland_70th' * 3
b = 'motherland_70th' * 3
c = 'motherland_70thmotherland_70thmotherland_70th'
print(a, id(a), len(a))
print(b, id(b), len(b))
print(c, id(c), len(c))
print(a is b is c)
'''
結(jié)果:
motherland_70thmotherland_70thmotherland_70th 2281801354864 45
motherland_70thmotherland_70thmotherland_70th 2281801354960 45
motherland_70thmotherland_70thmotherland_70th 2281801354768 45
False
'''
# 有其它字符,且長度不大于20
a = '你好' * 3
b = '你好' * 3
c = '你好你好你好'
print(a, id(a), len(a))
print(b, id(b), len(b))
print(c, id(c), len(c))
print(a is b is c)
'''
結(jié)果:
你好你好你好 3115902573360 6
你好你好你好 3115902573448 6
你好你好你好 3115900671904 6
False
'''

字符串指定駐留

使用sys模塊中的intern函數(shù),讓變量指向同一個地址,只要字符串的值是相同的,無論字符的類型、長度、變量的數(shù)量,都指向同一個內(nèi)存地址。

語法:intern(string)

from sys import intern

a = intern('祖國70華誕: my 70th birthday of the motherland' * 1000)
b = intern('祖國70華誕: my 70th birthday of the motherland' * 1000)
c = intern('祖國70華誕: my 70th birthday of the motherland' * 1000)
d = intern('祖國70華誕: my 70th birthday of the motherland' * 1000)
e = intern('祖國70華誕: my 70th birthday of the motherland' * 1000)

print(a is b is c is d is e)

元組

元組只有為空的情況下,地址相同

# 相同
print(id(()), id(tuple()))

# 不同
print(id((1, 2)), id((1, 2)))

列表、集合、字典

任何情況下,地址都不會相同

# 列表、非空元組、集合、字典 無論在聲明情況下,id表示都不會相同

# 不同
print(id([]), id([]))
print(id(set()), id(set()))
print(id({}), id({}))

總結(jié)

# -->Number 部分
1.對于整型而言,-5~正無窮范圍內(nèi)的相同值 id一致
2.對于浮點(diǎn)數(shù)而言,非負(fù)數(shù)范圍內(nèi)的相同值 id一致
3.布爾值而言,值相同情況下,id一致
4.復(fù)數(shù)在 實(shí)數(shù)+虛數(shù) 這樣的結(jié)構(gòu)中永不相同(只有虛數(shù)的情況例外,只有虛數(shù)的虛數(shù)相同才會id一致)

# -->容器類型部分
5.字符串 和 空元組 相同的情況下,地址相同
6.列表,元組,字典,集合無論什么情況 id標(biāo)識都不同 [空元組例外]

小數(shù)據(jù)池

以下內(nèi)容僅對python3.6.8負(fù)責(zé)

數(shù)據(jù)在同一個文件(模塊)當(dāng)中,變量存儲的的緩存機(jī)制就是上述的那樣。

但是如果是在不同文件(模塊)當(dāng)中的數(shù)據(jù),部分?jǐn)?shù)據(jù)就會駐留在小數(shù)據(jù)池當(dāng)中。

什么是小數(shù)據(jù)池

不同的python文件(模塊)中的相同數(shù)據(jù)的本應(yīng)該是不在同一個內(nèi)存地址當(dāng)中的, 而是應(yīng)該全新的開辟一個新空間,但是這樣就造成了內(nèi)存的空間壓力,所以python定義了小數(shù)據(jù)池的概念,默認(rèn)允許小部分?jǐn)?shù)據(jù)即使在不同的文件當(dāng)中,只要數(shù)據(jù)相同就可以使用同一個內(nèi)存空間,節(jié)省內(nèi)存。

小數(shù)據(jù)池支持什么類型

小數(shù)據(jù)池只針對:int、bool、None關(guān)鍵字 ,這些數(shù)據(jù)類型有效。

int

對于int而言,python在內(nèi)存中創(chuàng)建了-5 ~ 256 范圍的整數(shù),提前駐留在了內(nèi)存的一塊區(qū)域,如果是不同文件(模塊)的兩個變量,聲明同一個值,在-5~256這個范圍里,那么id一致,兩個變量的值都同時指向一個值的地址,節(jié)省空間。

# 現(xiàn)在我們打開兩個終端,進(jìn)入python環(huán)境中,然后執(zhí)行下面的指令,你會發(fā)現(xiàn),只有-5 ~ 256范圍內(nèi)的整型的id值相同,而不是之前說過的是-5 ~ 正無窮的范圍,這是因?yàn)椋瑑蓚€終端環(huán)境就相當(dāng)于兩個python文件或者是模塊。

print(id(1000))
print(id(500))
print(id(257))
print(id(256))
print(id(-5))
print(id(-6))

其它

布爾、None這些類型都是有效的

# 開啟兩個終端測試吧
print(id(True))
print(id(False))
print(id(None))

到此這篇關(guān)于python的變量緩存機(jī)制的文章就介紹到這了,更多相關(guān)python的變量緩存機(jī)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 在python代碼中加入環(huán)境變量的語句操作
  • Python基礎(chǔ)知識之變量的詳解
  • python3 刪除所有自定義變量的操作
  • 完美處理python與anaconda環(huán)境變量的沖突問題
  • Python全局變量global關(guān)鍵字詳解
  • python子類如何繼承父類的實(shí)例變量
  • Python中全局變量和局部變量的理解與區(qū)別
  • python安裝及變量名介紹詳解
  • Python如何批量生成和調(diào)用變量
  • python“靜態(tài)”變量、實(shí)例變量與本地變量的聲明示例
  • python小技巧——將變量保存在本地及讀取
  • Python判斷變量是否是None寫法代碼實(shí)例
  • 淺談對Python變量的一些認(rèn)識理解

標(biāo)簽:秦皇島 淮安 合肥 百色 綏化 綿陽 周口 周口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解python的變量緩存機(jī)制》,本文關(guān)鍵詞  詳解,python,的,變量,緩存,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解python的變量緩存機(jī)制》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解python的變量緩存機(jī)制的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    精品国产三级a| 免费毛片播放| 二级特黄绝大片免费视频大片| 欧美一级视频免费| 九九热精品免费观看| 精品国产亚洲人成在线| 日韩免费在线视频| 国产麻豆精品免费密入口| 国产91精品系列在线观看| 久草免费在线视频| 色综合久久天天综合观看| 尤物视频网站在线观看| 亚洲天堂一区二区三区四区| 国产一区二区高清视频| 一级女人毛片人一女人| 四虎论坛| 成人免费福利片在线观看| 国产精品12| 九九精品影院| 免费一级生活片| 日本免费看视频| 午夜精品国产自在现线拍| 精品国产一区二区三区久| 日本免费区| 亚洲天堂在线播放| 超级乱淫黄漫画免费| 91麻豆精品国产自产在线| 日韩女人做爰大片| 青青青草影院| 免费国产在线观看| 九九精品久久久久久久久| 国产高清视频免费观看| 欧美一级视频免费| 成人高清视频免费观看| 亚洲精品久久久中文字| 国产一区免费在线观看| 精品国产香蕉在线播出 | 国产成人精品综合在线| 一本伊大人香蕉高清在线观看| 你懂的日韩| 国产网站麻豆精品视频| 精品国产一区二区三区国产馆| 国产一区二区精品久久| 免费一级生活片| 久草免费在线色站| 高清一级毛片一本到免费观看| 精品毛片视频| 韩国三级视频在线观看| 亚洲女人国产香蕉久久精品 | 欧美另类videosbestsex视频| 亚飞与亚基在线观看| 日韩专区在线播放| 亚洲www美色| 亚洲wwwwww| 久久99这里只有精品国产| 午夜在线观看视频免费 成人| 国产伦精品一区二区三区无广告| 久久99爰这里有精品国产| 午夜久久网| 尤物视频网站在线观看| 99色视频在线观看| 日日夜人人澡人人澡人人看免| 久草免费在线视频| 午夜久久网| 日本在线www| 日韩欧美一二三区| 99热精品在线| 欧美爱爱动态| 国产视频一区二区在线播放| 久久99青青久久99久久| 999精品视频在线| 亚洲女初尝黑人巨高清在线观看| 国产精品自拍在线观看| 国产亚洲免费观看| 韩国三级视频网站| 欧美另类videosbestsex高清| 日韩一级黄色片| 国产一区二区精品尤物| 国产成人精品综合| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产不卡精品一区二区三区| 欧美激情一区二区三区在线播放| 天天做人人爱夜夜爽2020毛片| 成人av在线播放| 久久精品免视看国产明星| 九九国产| 成人免费一级毛片在线播放视频| 91麻豆精品国产片在线观看| 九九久久99| 国产国产人免费视频成69堂| 一级片免费在线观看视频| 国产91精品一区| 国产综合91天堂亚洲国产| 亚洲女初尝黑人巨高清在线观看| 国产麻豆精品hdvideoss| 欧美国产日韩一区二区三区| 精品国产一区二区三区久久久狼 | 精品国产一区二区三区精东影业| 91麻豆精品国产自产在线观看一区 | 日日夜人人澡人人澡人人看免| 欧美激情一区二区三区中文字幕| 毛片高清| 日本特黄特黄aaaaa大片| 欧美国产日韩一区二区三区| 欧美一区二区三区性| 黄视频网站在线看| 国产亚洲男人的天堂在线观看| 一本伊大人香蕉高清在线观看| 久久99这里只有精品国产| 99久久精品费精品国产一区二区| 天天做日日爱夜夜爽| 精品视频在线看 | 美女免费毛片| 日日夜夜婷婷| 台湾毛片| 九九精品在线播放| 国产原创视频在线| 久久精品成人一区二区三区| 99色视频在线| 日韩专区第一页| 欧美一区二区三区在线观看| 亚欧成人毛片一区二区三区四区| 日韩专区一区| 午夜在线亚洲男人午在线| 欧美日本国产| 91麻豆精品国产自产在线观看一区| 九九精品在线播放| 久久99中文字幕| 沈樵在线观看福利| 国产不卡在线播放| 黄视频网站在线免费观看| 九九精品久久久久久久久| 国产精品自拍一区| 成人免费观看的视频黄页| 色综合久久手机在线| 欧美1区| 久久国产精品只做精品| 黄色免费三级| 国产91精品系列在线观看| 国产不卡在线观看| 成人免费观看男女羞羞视频| a级毛片免费观看网站| 日韩欧美一及在线播放| 黄色免费网站在线| 精品久久久久久影院免费| 国产精品免费久久| 可以免费看污视频的网站| 欧美大片aaaa一级毛片| 欧美激情一区二区三区在线| 999久久66久6只有精品| 精品视频在线观看一区二区三区| 久久久久久久网| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 一级毛片视频播放| 毛片的网站| 你懂的在线观看视频| 黄视频网站在线看| 精品在线免费播放| 国产a网| 欧美18性精品| 国产亚洲男人的天堂在线观看| 四虎影视久久| 亚洲天堂免费观看| 天天做人人爱夜夜爽2020毛片| 黄视频网站免费观看| 四虎论坛| 一a一级片| a级黄色毛片免费播放视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 九九干| 亚久久伊人精品青青草原2020| 青青久热| 日韩欧美一二三区| 黄色免费网站在线| 美女被草网站| 日韩男人天堂| 日韩专区亚洲综合久久| 黄色免费网站在线| 天天做日日爱夜夜爽| 日韩专区亚洲综合久久| 国产亚洲男人的天堂在线观看| 久久国产精品自由自在| 精品视频在线看 | a级毛片免费观看网站| 亚洲天堂免费观看| 欧美一区二区三区性| 欧美激情伊人| 欧美一区二区三区性| 日韩字幕在线| 精品久久久久久中文字幕一区| 欧美激情一区二区三区在线| 精品视频免费观看| 国产一区二区高清视频| 日本免费看视频| 精品国产一区二区三区久| 麻豆系列 在线视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产不卡在线观看| 欧美18性精品| 欧美爱色|