溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

發(fā)布時(shí)間:2022-02-25 15:51:43 來源:億速云 閱讀:145 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Python字符串怎么創(chuàng)建和駐留機(jī)制是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python字符串怎么創(chuàng)建和駐留機(jī)制是什么”吧!

字符串

  字符串在Python中是基本數(shù)據(jù)類型,是一個(gè)不可變的字符序列。

字符串駐留機(jī)制

  僅保存一份相同且不可變字符串的方法,不同的值被存放在字符串的駐留池中,Python的駐留機(jī)制對相同的字符串只保留一份拷貝,后續(xù)創(chuàng)建相同字符串時(shí),不會(huì)開辟新空間,而是把該字符串的地址賦給新創(chuàng)建的變量。

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

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

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

  1、字符串的長度為0或1時(shí)

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

  2、符合標(biāo)識(shí)符的字符串

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

  3、字符串只在編譯時(shí)進(jìn)行駐留,而非運(yùn)行時(shí)

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

b在運(yùn)行前連接abc,而c是在運(yùn)行時(shí)連接,因此c沒有駐留,開辟了新的空間

  4、[-5, 256]之間的整數(shù)數(shù)字

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

sys中的intern方法強(qiáng)制兩個(gè)字符串指向同一個(gè)對象

Python字符串怎么創(chuàng)建和駐留機(jī)制是什么

PyCharm對字符串進(jìn)行了優(yōu)化處理

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

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

  當(dāng)需要相同的字符串時(shí),可以直接從字符串池里拿出來用,避免頻繁的創(chuàng)建和銷毀,提升效率并節(jié)約內(nèi)存。因此拼接字符串和修改字符串是會(huì)比較影響性能的。

  在需要進(jìn)行字符串拼接時(shí)建議使用str類型的join方法,而非+,因?yàn)閖oin()方法是先計(jì)算出所有字符串中的長度,然后再拷貝,只new一次對象,效率比“+”高。

到此,相信大家對“Python字符串怎么創(chuàng)建和駐留機(jī)制是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI