欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年06月19日 10:56:11   作者:解憂雜貨鋪-程序員分店  
字符串駐留是一種僅保存一份相同且不可變字符串的方法。這篇文章主要介紹了python 字符串的駐留機(jī)制,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

說明

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

原理

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

駐留時機(jī)

  1. 所有長度為 0 和長度為 1 的字符串都被駐留
  2. 字符串只在編譯時進(jìn)行駐留,而非運(yùn)行時
a = 'hi' # a變量被駐留
b = ''.join(['h', 'i']) # 變量不會被駐留
print(a is b) # False

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

a = 'hello'
	b = 'hello'
	print(a is b) # True
	
	a = 'hello!'
	b = 'hello!'
	print(a is b) # False
	```

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

a = 'a' * 10
b = 'aaaaaaaaaa'
print(a is b) # True

a = 'a' * 21
b = 'aaaaaaaaaaaaaaaaaaaaa'
print(a is b) #False

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

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

總結(jié)

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

相關(guān)文章

  • pytorch中的reshape()、view()、nn.flatten()和flatten()使用

    pytorch中的reshape()、view()、nn.flatten()和flatten()使用

    這篇文章主要介紹了pytorch中的reshape()、view()、nn.flatten()和flatten()使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python二叉樹的定義及常用遍歷算法分析

    Python二叉樹的定義及常用遍歷算法分析

    這篇文章主要介紹了Python二叉樹的定義及常用遍歷算法,結(jié)合實(shí)例形式分析了基于Python的二叉樹定義與先序、中序、后序、層序等遍歷方法,需要的朋友可以參考下
    2017-11-11
  • ?Python?中?logging?模塊使用詳情

    ?Python?中?logging?模塊使用詳情

    這篇文章主要介紹了?Python?中?logging?模塊使用,在我們寫程序時,可以借助?logging?模塊的輸出信息來調(diào)試代碼,下文章關(guān)于?logging?模塊的使用相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • Python 比較文本相似性的方法(difflib,Levenshtein)

    Python 比較文本相似性的方法(difflib,Levenshtein)

    今天小編就為大家分享一篇Python 比較文本相似性的方法(difflib,Levenshtein),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python列表解析配合if else的方法

    Python列表解析配合if else的方法

    今天小編就為大家分享一篇Python列表解析配合if else的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python re.sub()替換正則的匹配內(nèi)容方法

    python re.sub()替換正則的匹配內(nèi)容方法

    今天小編就為大家分享一篇python re.sub()替換正則的匹配內(nèi)容方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 使用Python來批量檢測并刪除Word文檔中的宏

    使用Python來批量檢測并刪除Word文檔中的宏

    Word文檔作為最常用的電子文檔格式之一,經(jīng)常被用來作為內(nèi)容分享工具,在網(wǎng)絡(luò)中或設(shè)備之間進(jìn)行傳輸,其安全性也需要受到關(guān)注,宏是可嵌入Word文檔中的一種VBA迷你程序,本文將介紹如何使用Python來批量檢測并刪除Word文檔中的宏,保護(hù)計算機(jī)的安全,需要的朋友可以參考下
    2024-07-07
  • Python中optparser庫用法實(shí)例詳解

    Python中optparser庫用法實(shí)例詳解

    這篇文章主要介紹了Python中optparser庫用法實(shí)例詳解,介紹了optparser的引入,初始化等相關(guān)內(nèi)容,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python opencv圖片編碼為h264文件的實(shí)例

    python opencv圖片編碼為h264文件的實(shí)例

    今天小編就為大家分享一篇python opencv圖片編碼為h264文件的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python判斷完全平方數(shù)的方法

    python判斷完全平方數(shù)的方法

    今天小編就為大家分享一篇python判斷完全平方數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11

最新評論