色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

python 字符串的駐留機(jī)制及優(yōu)缺點(diǎn)

瀏覽:3日期:2022-07-20 13:33:37

說(shuō)明

字符串駐留是一種僅保存一份相同且不可變字符串的方法。不同的值被存放在字符串駐留池中,發(fā)生駐留之后, 許多變量可能指向內(nèi)存中的相同字符串對(duì)象, 從而節(jié)省內(nèi)存.

原理

系統(tǒng)維護(hù)interned字典,記錄已被駐留的字符串對(duì)象 當(dāng)字符串對(duì)象a需要駐留時(shí),先在interned檢測(cè)是否存在,若存在則指向存在的字符串對(duì)象,a的引用計(jì)數(shù)減1 若不存在,則記錄a到interned中

駐留時(shí)機(jī)

所有長(zhǎng)度為 0 和長(zhǎng)度為 1 的字符串都被駐留 字符串只在編譯時(shí)進(jìn)行駐留,而非運(yùn)行時(shí)

a = ’hi’ # a變量被駐留b = ’’.join([’h’, ’i’]) # 變量不會(huì)被駐留print(a is b) # False

3.字符串中只包含字母,數(shù)字或下劃線時(shí)將會(huì)駐留

a = ’hello’b = ’hello’print(a is b) # Truea = ’hello!’b = ’hello!’print(a is b) # False```

常量折疊是 Python 中的一種 窺孔優(yōu)化技術(shù). 這意味著在編譯時(shí)表達(dá)式 ‘a(chǎn)’*20 會(huì)被替換為 ‘a(chǎn)aaaaaaaaaaaaaaaaaaa’ 以減少運(yùn)行時(shí)的時(shí)鐘周期. 只有長(zhǎng)度小于 20 的字符串才會(huì)發(fā)生常量折疊.樣的設(shè)計(jì)目的是為了保護(hù).pcy文件不會(huì)被錯(cuò)誤代碼搞的過(guò)大

a = ’a’ * 10b = ’aaaaaaaaaa’print(a is b) # Truea = ’a’ * 21b = ’aaaaaaaaaaaaaaaaaaaaa’print(a is b) #False

字符串駐留機(jī)制的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):能夠提高一些字符串處理任務(wù)在時(shí)間和空間上的性能,非駐留比較效率為o(n),駐留時(shí)比較效率為o(1)缺點(diǎn):在創(chuàng)建或駐留字符串時(shí)的會(huì)花費(fèi)更多的時(shí)間

總結(jié)

到此這篇關(guān)于python 字符串的駐留機(jī)制的文章就介紹到這了,更多相關(guān)python字符串駐留內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 一本大道香蕉大vr在线吗视频 | 国产成人亚洲精品一区二区在线看 | 午夜在线亚洲男人午在线 | 久久在线播放 | 91精品国产一区二区三区左线 | 久久精品国产99久久香蕉 | 久久香蕉国产视频 | 91福利国产在线观一区二区 | 久久人人草 | 日本久久久久 | 国产孕妇孕交一级毛片 | 久久精品国产一区二区三区日韩 | 亚洲综合干 | 一二三区在线观看 | 精品精品国产欧美在线观看 | 国产精品特级毛片一区二区三区 | 亚洲伦理天堂 | 欧美一级片在线视频 | 加勒比色久综合在线 | 国产高清在线 | 全部毛片 | 欧美日韩一区二区三区在线 | 欧美激情亚洲 | 亚洲第一页在线视频 | 中文字幕视频网站 | 国产成人精品一区二区视频 | 国内精品久久久久久久亚洲 | 精品久久久久久亚洲 | 国产高清视频在线 | 欧美日韩一区二区三区在线 | 在线欧美一级毛片免费观看 | 91精品手机国产露脸 | 国产91精选在线观看网站 | 黄在线网站 | 日本成人在线免费观看 | 97精品国产综合久久久久久欧美 | 污美女网站www在线观看 | 国产伦精品一区三区视频 | 日本护士视频xxxxxwww | 视频偷拍一级视频在线观看 | 一级做a爱久久久久久久 |