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!
推薦閱讀:
- Python中is與==的使用區別詳解
- PyCharm 安裝與使用配置教程(windows,mac通用)
- 詳解python的變量緩存機制
- Python中關於元組 集合 字符串 函數 異常處理的全面詳解
- python入門課程第二講之怎麼運行Python