1.什么是字符串(str)
1)
字符串是python提供的容器型數(shù)據(jù)類型(序列)挡育,不可變巴碗、有序 不可變 不支持增刪改;有序 - 支持下標(biāo)操作
2)
python中字符串使用單引號(hào)或者雙引號(hào)引起來的字符集即寒;引號(hào)里面的每一個(gè)基本單元叫字符
2.字符
python中只有字符概念橡淆,沒有字符類型
1)普通字符:數(shù)字、字母母赵、中文逸爵、日語、普通符號(hào)等
2)轉(zhuǎn)義字符:
在特定的符號(hào)前加\來表示特殊功能或者特殊意義的字符
\n -換行
' =單引號(hào)字符 "=雙引號(hào)字符 (不是字符串開頭或結(jié)尾的標(biāo)志)
\=表示字符反斜杠本身(讓一個(gè)反斜杠失去轉(zhuǎn)義的功能)
\t=制表符(相當(dāng)于tab)
阻止轉(zhuǎn)義:在字符串的最前面加r/R,能阻止所有的轉(zhuǎn)義字符轉(zhuǎn)義
3)編碼字符:在字符串中用'\u四位的十六進(jìn)制數(shù)'來表示一個(gè)字符
\u字符編碼值的16進(jìn)制數(shù)
3.1)字符編碼:
計(jì)算機(jī)本身只有存儲(chǔ)數(shù)字的能力(存數(shù)字的二進(jìn)制的補(bǔ)碼)凹嘲,為了能夠存儲(chǔ)數(shù)字以外的符號(hào)师倔,開發(fā)人員給每個(gè)字符對應(yīng)一個(gè)固定的數(shù)字用來對字符進(jìn)行存儲(chǔ)。
每個(gè)字符的編碼值周蹭。每個(gè)字符和數(shù)字的一一對應(yīng)關(guān)系就是字符編碼表,Unicode編碼表
常見的編碼表有:ASCII碼表趋艘、Unicode編碼表
ASCII碼表采用一個(gè)字節(jié)對字符進(jìn)行編碼:0~127
Unicode編碼表采用兩個(gè)字節(jié)對字符進(jìn)行編碼,包含了ASCII碼
chr函數(shù):chr(編碼值) - 獲取編碼值對應(yīng)的字符
ord函數(shù):ord(字符) - 獲取指定字符對應(yīng)的編碼
2.字符串操作:查
1)取單個(gè)字符
語法:字符串[下標(biāo)] - 獲取指定下標(biāo)對應(yīng)的字符
說明:字符串 - 結(jié)果是字符串的表達(dá)式(字符串值凶朗、字符串變量瓷胧、運(yùn)算結(jié)果是字符串)
[] - 固定下標(biāo)
下表 - 又叫索引,字符串確定后俱尼,字符串中的每個(gè)字符都有一個(gè)確定的下標(biāo)/索引表示這個(gè)字符在字符串中的位置
python中下標(biāo)有兩種抖单,位置都是從往后是0字符串長度-1;位置從后往前是-1-字符串長度
空格也是一個(gè)字符 下標(biāo)不能越界
2)獲取部分字符(字符串切片)
語法:字符串[開始下標(biāo):結(jié)束下標(biāo):步長] -從開始下標(biāo)開始獲取遇八,每次增加步長取下一個(gè)值矛绘;取到結(jié)束下標(biāo)前為止(結(jié)束下標(biāo)對應(yīng)的值取不到)
說明: 字符串 -結(jié)果是字符串的表達(dá)式(字符串值、字符串變量刃永、運(yùn)算結(jié)果是字符串)
開始下標(biāo) - 下標(biāo)货矮,整數(shù)。能取到對應(yīng)字符
結(jié)束下標(biāo) - 整數(shù)斯够。對應(yīng)字符取不到
步長 - 整數(shù)囚玫。如果步長是正數(shù),從前往后榷凉妗抓督;如果步長是負(fù)數(shù),從后往前取
注意:1.字符串切片的結(jié)果都是字符串
2.如果步長是正數(shù)束亏,那么開始下標(biāo)對應(yīng)字符要在結(jié)束對應(yīng)下標(biāo)對應(yīng)的字符前面铃在,才能取到值趣避;
如果步長是負(fù)數(shù)啸箫,那么開始下標(biāo)對應(yīng)字符要在結(jié)束對應(yīng)下標(biāo)對應(yīng)的字符后面,才能取到值
3.切片的時(shí)候下標(biāo)可以越界
3)獲取部分字符的簡寫
1.省略步長
語法:字符串[開始下標(biāo):結(jié)束下標(biāo)] <==>字符串[開始下標(biāo):結(jié)束下標(biāo):1]
2.省略開始下標(biāo)和結(jié)束下標(biāo) - 步長為正從字符串開頭往后獲取盏混;步長為負(fù)從字符串最后往前獲取
語法:字符串[:結(jié)束下標(biāo):步長]诗轻、字符串[:結(jié)束下標(biāo)]
3.省略結(jié)束下標(biāo) - 步長為正苞笨,取到字符串最后一個(gè)字符稠腊;步長為負(fù)取到第一個(gè)字符為止
語法:字符串[開始下標(biāo)::步長]、字符串[開始下標(biāo):]
print(str3[::-1]) 字符串倒序
4)遍歷字符串 -將字符串中的字符一個(gè)一個(gè)的取出來
for 變量 in 字符串:
循環(huán)體
字符串相關(guān)操作
1.字符串的運(yùn)算:
1)數(shù)學(xué)運(yùn)算符:+畸陡,*
+:兩個(gè)字符串相加:將兩個(gè)字符串拼接產(chǎn)生一個(gè)新的字符串
字符串正整數(shù)/正整數(shù)字符串:字符串重復(fù)指定次數(shù)產(chǎn)生一個(gè)新的字符串
2)比較運(yùn)算:>,<,<=,>=,==,!=
針對兩個(gè)字符串進(jìn)行比較
print('abc' >'zbc')
字符串比較大杏チ铩:按位置從前往后一對一對的比較,找出第一隊(duì)不相等的字符罩锐,看它們的編碼值誰大
3)賦值運(yùn)算符:=奉狈,+=,*=
2.in和not in
字符串1 in 字符串2 - 判斷字符串2中是否包含字符串1
3.len
len(字符串) -獲取字符串長度
4.str
str(數(shù)據(jù)) -將其他類型數(shù)據(jù)轉(zhuǎn)換成字符串
所有類型的數(shù)據(jù)都可以轉(zhuǎn)化成字符串涩惑;轉(zhuǎn)換的時(shí)候數(shù)據(jù)直接外面加引號(hào)
5.格式字符串:在字符串中用格式占位符代替字符串中變化的部分仁期,然后再使用數(shù)據(jù)對變化大的部分進(jìn)行賦值
語法:包含格式占位符的字符串 % (數(shù)據(jù)1,數(shù)據(jù)2竭恬,...)
注意:數(shù)據(jù)的個(gè)數(shù)和類型要和前面字符串中格式占位的個(gè)數(shù)和類型保持一致
格式占位符:%s - 字符串
%d - 整數(shù)
%f - 浮點(diǎn)數(shù) %.Nf N控制小數(shù)后小數(shù)的位數(shù)
%c 字符
字符串的對象方法
字符串.函數(shù)名()
1.capitalize -字符串中的第一個(gè)字符轉(zhuǎn)換成大寫字母
str1 = 'abc'
print(str1.capitalize())
2.設(shè)置對齊方式
字符串.center(width,fillchar) 居中跛蛋,width控制新子串的寬度,fillchar是填充字符
字符串.rjust(width,fillchar)
字符串.ljust(width,fillchar)
字符串.zfill(width) == 字符串.rjust(width,'0')