Python字符串的創建和駐留機制詳解

字符串

  字符串在Python中是基本數據類型,是一個不可變的字符序列。

字符串駐留機制

  僅保存一份相同且不可變字符串的方法,不同的值被存放在字符串的駐留池中,Python的駐留機制對相同的字符串隻保留一份拷貝,後續創建相同字符串時,不會開辟新空間,而是把該字符串的地址賦給新創建的變量。

駐留機制的幾種情況(交互模式windows+r,cmd)

  1、字符串的長度為0或1時

  2、符合標識符的字符串

  3、字符串隻在編譯時進行駐留,而非運行時

b在運行前連接abc,而c是在運行時連接,因此c沒有駐留,開辟瞭新的空間

  4、[-5, 256]之間的整數數字

sys中的intern方法強制兩個字符串指向同一個對象

PyCharm對字符串進行瞭優化處理

 a = 'abc%'
 b = 'abc%'
 print(a is b) # True

字符串駐留機制優缺點

  當需要相同的字符串時,可以直接從字符串池裡拿出來用,避免頻繁的創建和銷毀,提升效率並節約內存。因此拼接字符串和修改字符串是會比較影響性能的。

  在需要進行字符串拼接時建議使用str類型的join方法,而非+,因為join()方法是先計算出所有字符串中的長度,然後再拷貝,隻new一次對象,效率比“+”高。

到此這篇關於Python字符串的創建和駐留機制詳解的文章就介紹到這瞭,更多相關Python字符串駐留機制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: