網(wǎng)站首頁 編程語言 正文
字符串
字符串在Python中是基本數(shù)據(jù)類型,是一個(gè)不可變的字符序列。
字符串駐留機(jī)制
僅保存一份相同且不可變字符串的方法,不同的值被存放在字符串的駐留池中,Python的駐留機(jī)制對相同的字符串只保留一份拷貝,后續(xù)創(chuàng)建相同字符串時(shí),不會開辟新空間,而是把該字符串的地址賦給新創(chuàng)建的變量。
駐留機(jī)制的幾種情況(交互模式windows+r,cmd)
1、字符串的長度為0或1時(shí)
2、符合標(biāo)識符的字符串
3、字符串只在編譯時(shí)進(jìn)行駐留,而非運(yùn)行時(shí)
b在運(yùn)行前連接abc,而c是在運(yùn)行時(shí)連接,因此c沒有駐留,開辟了新的空間
4、[-5, 256]之間的整數(shù)數(shù)字
sys中的intern方法強(qiáng)制兩個(gè)字符串指向同一個(gè)對象
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)存。因此拼接字符串和修改字符串是會比較影響性能的。
在需要進(jìn)行字符串拼接時(shí)建議使用str類型的join方法,而非+,因?yàn)閖oin()方法是先計(jì)算出所有字符串中的長度,然后再拷貝,只new一次對象,效率比“+”高。
原文鏈接:https://www.cnblogs.com/0xiaoyu/p/15936011.html
相關(guān)推薦
- 2022-06-09 ASP.NET?Core使用EF創(chuàng)建模型(必需和可選屬性、最大長度、并發(fā)標(biāo)記、陰影屬性)_實(shí)用技巧
- 2022-03-14 @Builder 實(shí)際參數(shù)列表和形式參數(shù)列表長度不同
- 2022-05-28 Oracle數(shù)據(jù)庫中通用的函數(shù)實(shí)例詳解_oracle
- 2022-09-25 Django 使用定時(shí)任務(wù)
- 2022-11-23 Python數(shù)據(jù)清洗&預(yù)處理入門教程_python
- 2023-10-28 go帶緩沖chan實(shí)現(xiàn)消息隊(duì)列功能_Golang
- 2022-04-18 antd4.*表格 Each child in a list should have a uniqu
- 2023-05-20 python中split(),?os.path.split()和os.path.splitext()
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支