青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

python字符串的駐留機制是什么?python字符串的駐留機制及優缺點

對于Python字符串的駐留機制的概念,有很多的小還是不太明白,簡單一點的說,它就是一種在內存中保存一份且不可變字符串的方法,為了讓大家更好的明白,下面通過對python字符串的駐留機制及優缺點進行講解學習 。

python字符串的駐留機制是什么?python字符串的駐留機制及優缺點


一、字符串駐留機制的說明
在之前的學習中,對于字符串的保存是可以保存為多份并且是可以改變的,而我們今天要學習的字符串駐留,它也是一種對字符串進行保存的方法,但是它只能保存為一份,并且內容相同還不能進行改變的字符串 。在吸字符串中,不同的值會被存在同一個字符串駐留池中,當我們應用駐留之后,多個變量會指向內部中的同一個字符串對象,這樣可以大量的節省內存空間 。
二、字符串駐留機制的原理
它是一種用于系統對interned字典的操作,同時還會將已經被使用過的字符串對象保存下來,當某個字符串對象需要進行駐留的時候,會先在這個字典中檢測,查看對象是否存在,如果存在就直接指向字符串的催下,使得引用的計數直接減1 。如果不存在的時候,直接會將這個新的字符串對象存入到interned字典中 。
三、駐留時機
【python字符串的駐留機制是什么?python字符串的駐留機制及優缺點】1、字符串的駐留長度很容易區分,當所有的長度為1或者是0的時候,表示全部被駐留,所有的字符串都是在程序進行編譯的時候駐留,而不是在沒有運行的情況下 。
舉個例子:
a = 'hihi' b = ''.join(['h', 'i']) print(a is b) 運行結果為False2、當一個字符串中,出現的只有字母、數字或者是下劃線的時候,也會被駐留,舉個例子:
a = 'hello'b = 'hello'print(a is b) 運行結果:Truea = 'hello!'b = 'hello!'print(a is b) 運行結果:False四、字符串的駐留機制優缺點
優點:當我們對字符串進行處理的時候,可以在實際和空間的性能上得到一定的提高,
缺點:對駐留和創建字符串上時,需要花費大量的時間 。
這篇關于“python字符串的駐留機制是什么?python字符串的駐留機制及優缺點”的內容就分享到這里了,希望大家能收獲到更多的Python知識 。

    猜你喜歡