python基礎(chǔ)字符串str詳解
字符串str:
定義:是由一系列字符組成的不可變序列容器,儲(chǔ)存的事字符的編碼值
編碼:
1、字節(jié)byte:計(jì)算機(jī)最小儲(chǔ)存單位,等于8位bit
2、 字符:?jiǎn)蝹€(gè)的數(shù)字,文字與字符
3、 字符集(碼表):存儲(chǔ)字符與二進(jìn)制序列的對(duì)應(yīng)關(guān)系
4、 編碼:將字符轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制序列的過(guò)程
5、 解碼:將二進(jìn)制序列轉(zhuǎn)換為對(duì)應(yīng)的字符的過(guò)程
6、 編碼方式:
ASCLL編碼:包含英文,數(shù)字等字符,每個(gè)字符1個(gè)字節(jié)
GBK編碼:兼容ASCLL包含21003個(gè)中文;英文1個(gè)字節(jié),漢子2個(gè)字節(jié)
Unicode:國(guó)際統(tǒng)一編碼,舊字符集每個(gè)字符2個(gè)字節(jié),新字符集4個(gè)字節(jié)
UTF-8編碼:Unicode的存儲(chǔ)與傳輸方式,英文1字節(jié),中文3個(gè)字節(jié)。
ord(字符串)和chr(整數(shù)):
1、 ord(字符串):返回改字符串的Unicode碼
2、 chr(整數(shù)):返回改整數(shù)對(duì)應(yīng)的字符串
''' str編碼 ''' # 字符-->數(shù)字 num01 = ord("a") print(num01) # 97 # 數(shù)字-->字符 str01 = chr(97) print(str01) # a
練習(xí)1.在控制臺(tái)中,獲取一個(gè)字符穿,打印每一個(gè)字符的編碼值
str01 = input("請(qǐng)輸入一個(gè)字符串:") for item in str01: print(ord(item)) 輸出結(jié)果: 請(qǐng)輸入一個(gè)字符串:string 115 116 114 105 110 103
練習(xí)2:在控制臺(tái)中,重復(fù)錄入一個(gè)編碼值,然后打印字符
如果輸入空字符串,則退出程序
while True: str_code = input("請(qǐng)輸入編碼值:") if str_code == "": break code_value = int(str_code) print(chr(code_value)) 結(jié)果輸出: 請(qǐng)輸入編碼值:15 請(qǐng)輸入編碼值:125 } 請(qǐng)輸入編碼值:100 d 請(qǐng)輸入編碼值:301 ? 請(qǐng)輸入編碼值:
字符串字面值:
**單引號(hào)和雙引號(hào)的區(qū)別**
1、 單引號(hào)內(nèi)的雙引號(hào)不算結(jié)束符
message = '我叫"蘇大強(qiáng)"'
2、 雙引號(hào)內(nèi)的單引號(hào)不算結(jié)束符
message = "我叫‘蘇大強(qiáng)'"
轉(zhuǎn)義符
在需要在字符中使用特殊字符時(shí),python 用反斜杠 \ 轉(zhuǎn)義字符。
字符串格式化
字符串的格式化方法分為兩種,分別為占位符(%)和format方式。占位符方式在Python2.x中用的比較廣泛,隨著Python3.x的使用越來(lái)越廣,format方式使用的更加廣泛。
定義:生成一定格式的字符串
語(yǔ)法:字符串%(變量)
編碼類(lèi):%s 字符串 ,%d整數(shù), %f浮點(diǎn)數(shù)
練習(xí)1.在字符串中插入變量,請(qǐng)輸入1+2=?
a = "1" a = "1" b = "2" str01 = "請(qǐng)輸入" + a + "+" + b + "=?" str02 = "請(qǐng)輸入%s+%f=?" %("1",10.5) str03 = "請(qǐng)輸入%s+%f=?" % ("1",10.5) print(str01) print(str02) print(str03) 輸出結(jié)果: 請(qǐng)輸入1+2=? 請(qǐng)輸入1+10.500000=? 請(qǐng)輸入1+10.500000=?
字符串通用操作
數(shù)學(xué)運(yùn)算符
”+“ :用于拼接兩個(gè)容器
”+=“ :用原容器與右側(cè)容器拼接,并重新綁定變量
”*“ :重復(fù)生成容器元素
“*=” :用原容器生成重復(fù)元素,并重新綁定變量
”< <= > >= == !=“
str01 = "悟空" str02 = "八戒" # 字符串拼接 str03 = str01 + str02 # 字符串累加 str01 += str02 print(str01) # 重復(fù)生成元素 print(str02 * 3) str02 *= 3 print(str02) # ”< <= > >= == !=“ 一次比較兩個(gè)容器中元素,一單不同則返回比較結(jié)果
成員運(yùn)算符
1.語(yǔ)法:
數(shù)據(jù) in 序列
數(shù)據(jù) not in 序列
2.作用:
如果在指定的序列中找到值,返回bool類(lèi)型print("我叫" in "我叫齊天大圣") print("我叫" not in "我叫齊天大圣") 輸出結(jié)果: True False
索引inedx
1.作用
訪問(wèn)容器元素
2.語(yǔ)法:
容器[整數(shù)]
3.說(shuō)明:
正向索引從0開(kāi)始,第二索引為1
反向索引從-1開(kāi)始,代表最后一個(gè)
message = "我叫齊天大圣" # 獲取正書(shū)第三個(gè)字 print(message[3]) # 獲取最后一個(gè)字 print(message[-1]) 輸出結(jié)果 天 圣
切片slice
1.作用:
從容器中取相應(yīng)的元素從新組成一個(gè)新的容器
2.語(yǔ)法:
容器[(開(kāi)始索引):(結(jié)束索引) :(步長(zhǎng))]
3.說(shuō)明:
小括號(hào)()括起的部分代表可省略
結(jié)束索引不包含該位置元素
步長(zhǎng)是切片每次獲取完當(dāng)前元素后移動(dòng)的偏移量
message = "我叫齊天大圣" print(message[0:1]) # 開(kāi)始值默認(rèn)為開(kāi)頭 print(message(:2)) #結(jié)束值默認(rèn)為末尾 print(message[-2:]) print(message[:]) 輸出結(jié)果: 我 我叫 大圣 我叫齊天大圣
內(nèi)建函數(shù)
到此這篇關(guān)于python基礎(chǔ)字符串str詳解的文章就介紹到這了,更多相關(guān)python字符串str內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決python有時(shí)候import不了當(dāng)前的包問(wèn)題
今天小編就為大家分享一篇解決python有時(shí)候import不了當(dāng)前的包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08一篇文章帶你了解Python之Selenium自動(dòng)化爬蟲(chóng)
這篇文章主要為大家詳細(xì)介紹了Python之Selenium自動(dòng)化爬蟲(chóng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽實(shí)例代碼
在matplotlib中,記號(hào)是圖形兩個(gè)軸上的小標(biāo)記,到目前為止,我們讓matplotlib處理軸圖例上記號(hào)的位置,下面這篇文章主要給大家介紹了關(guān)于Matplotlib控制坐標(biāo)軸刻度間距與標(biāo)簽的相關(guān)資料,需要的朋友可以參考下2021-10-10Python3安裝psycopy2以及遇到問(wèn)題解決方法
在本篇文章里小編給各位分享的是關(guān)于Python3如何安裝psycopy2以及相關(guān)問(wèn)題解決方法,需要的朋友們學(xué)習(xí)下。2019-07-07Python 實(shí)現(xiàn)Mac 屏幕截圖詳解
今天小編就為大家分享一篇對(duì)Python 實(shí)現(xiàn)Mac 屏幕截圖詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-10-10Python OpenCV實(shí)現(xiàn)基于模板的圖像拼接
基于特征點(diǎn)的圖像拼接如果是多張圖,每次計(jì)算變換矩陣,都有誤差,最后可以圖像拼完就變形很大,基于模板的方法可以很好的解決這一問(wèn)題,本文就來(lái)和大家具體聊聊2022-10-10