day03-python中的字符串

01-認(rèn)識(shí)字符串

1、字符串:用單引號(hào)或者雙引號(hào)括起來(lái)的字符集。例如:'ljjj$345是'。
字符:字符串中的每個(gè)獨(dú)立的單元我們叫字符。

2、轉(zhuǎn)義字符:通過(guò)\將一些特殊的字符轉(zhuǎn)換成具有特殊功能的字符。常見的轉(zhuǎn)義字符有:\n(換行)、\t(tab制表符)、\(反斜杠\)、'(單引號(hào))、"(雙引號(hào))等。轉(zhuǎn)義字符的長(zhǎng)度為1。

3、Unicode編碼:python中字符的編碼采用的是Unicode編碼。Unicode使用兩個(gè)字節(jié)對(duì)一個(gè)字符進(jìn)行編碼。Unicode編碼包含ASCII碼。

編碼:將字符轉(zhuǎn)換成指定的數(shù)值,以便計(jì)算機(jī)做存儲(chǔ)操作。解碼:將數(shù)值轉(zhuǎn)換成對(duì)應(yīng)的符號(hào)。

在這里,涉及到兩個(gè)函數(shù):1)、將Unicode碼轉(zhuǎn)換成字符:chr();2)、將字符轉(zhuǎn)換成Unicode編碼:ord();
例子:

# 1)、將Unicode碼轉(zhuǎn)換成字符:chr()
print(chr(0xA000))
print(chr(0xa001))
print(chr(0x4e00))

#2)、將字符轉(zhuǎn)換成Unicode編碼:ord()
print(hex(ord('哈')),hex(ord('嘍')))

結(jié)果:


字符與編碼相互轉(zhuǎn)換.png

02-獲取字符

1、獲取單個(gè)字符

python中的字符串,可以通過(guò)下標(biāo)來(lái)獲取指定位置上的字符;

格式:字符串[下標(biāo)]
注意:字符串可以是字符串值,也可以是字符串變量;下標(biāo)可以是從0開始到字符串長(zhǎng)度減1;也可以是-1到-長(zhǎng)度(-1就是對(duì)應(yīng)的最后一個(gè)字符,以此類推,-長(zhǎng)度對(duì)應(yīng)的就是第一個(gè)字符);最后,索引不能越界,否則會(huì)報(bào)錯(cuò)。

例子:

str1='abcd'
print(str1[0])
#print(str[4])錯(cuò)誤
print(str[-4])
print(str[-1])

結(jié)果:


獲取單個(gè)字符.png

2、獲取部分字符(子串)--切片
格式:字符串[下標(biāo)1:下標(biāo)2]:從下標(biāo)1開始獲取到下標(biāo)2前的所有的字符。
例子:

str2='hello world'
print(str2[0:4])
print(str2[2:-1])
print('abcdabcd'[0:8])#切片時(shí),下標(biāo)可以越界,越界時(shí)就取臨界值。

結(jié)果:


切片.png

格式2:字符串[下標(biāo)1:下標(biāo)2:步進(jìn)]
解釋:從下標(biāo)1開始獲取,每次下標(biāo)值增加步進(jìn)值,每增加一次獲取一個(gè)字符,直到取到下標(biāo)2前為止。
(如果步進(jìn)是正數(shù),那么下標(biāo)1對(duì)應(yīng)的字符的位置一定要在下標(biāo)2對(duì)應(yīng)的位置的前面;如果是負(fù)數(shù),那么下標(biāo)1的位置在下標(biāo)2的后面;)
例子:

str2='helloworld!'
print(str3[0:5:3])
print(str3[0:5])
print(str3[-1:5:-1])

帶步進(jìn)的字符串獲取.png

下標(biāo)的省略

例子:

#切片時(shí),下標(biāo)1和下標(biāo)2是可以省略的。
#下標(biāo)1省略:默認(rèn)從開頭開始獲取(開頭可能是字符串的第一個(gè)字符,也可能是最后一個(gè)字符。)
str4='good good study,day day up'
print(str4[:4])
print(str4[:4:-1])
#下標(biāo)2省略:從下標(biāo)1位置開始獲取,獲取到結(jié)束(結(jié)束可能是字符串的最后一個(gè)字符,也可能是第一個(gè)字符)
print(str4[1:])
print(str4[3::-1])
print(str4[::-1])

結(jié)果:


下標(biāo)省略.png

03-字符串相關(guān)運(yùn)算

1、+運(yùn)算:python中支持兩個(gè)字符串相加,其結(jié)果就是將兩個(gè)字符串進(jìn)行拼接,最后產(chǎn)生一個(gè)新的字符串。

2、*運(yùn)算:
格式:字符串*整數(shù)
就是將整數(shù)個(gè)字符串拼接在一起產(chǎn)生一個(gè)新的字符串。

3、支持所有的比較運(yùn)算符(==、!=、>、<)
注意:在比較大小時(shí),比較的是兩個(gè)字符串中每一位字符的編碼值,直到不同為止。

4、in和not in:判斷字符串之間是否包含。結(jié)果為bool值。

5、獲取字符串長(zhǎng)度
使用len()內(nèi)置函數(shù)來(lái)獲取。空串('')的長(zhǎng)度為0;

6、阻止轉(zhuǎn)義
在字符串的最前面添加r或者R可以阻止轉(zhuǎn)義。


04-字符串中的相關(guān)函數(shù)方法

python中為字符串提供了很多內(nèi)建函數(shù)。
調(diào)用方式:字符串.函數(shù)名()
注意:函數(shù)的功能不會(huì)影響原來(lái)的字符串,而是產(chǎn)生一個(gè)新的字符串。

print('abCd'.capitalize())#將字符串中的第一個(gè)字符轉(zhuǎn)換成大寫,如果后面有大寫,將其轉(zhuǎn)換成小寫;
print('abc'.center(10,'0'))#產(chǎn)生一個(gè)長(zhǎng)度為10,字符串a(chǎn)bc居中,其余以0來(lái)填充的字符串;
print('abaa'.count('a'))#返回a在字符串a(chǎn)baa中出現(xiàn)的次數(shù);
print('abc'.endswith('c'))#檢查字符串是否已字符c結(jié)尾.返回true或者false
print('abc'.find('abd'))#檢查是否包含字符串,返回0或-1
print('abc12'.isalnum())#如果字符串至少有一個(gè)字符并且所有字符都是字符或數(shù)字則返回 True,否則返回 False
print('abc1'.isdigit())#字符串是否只包含數(shù)字
print('asfD34'.islower())#字符串中的字母是否都是小寫
print('bs23'.isnumeric())#字符串中是否只有數(shù)字
print('  \n'.isspace())#字符串中是否只有空白
print('Tdd Fsss'.istitle())#字符串中所有的單詞的首字母是否大寫,其余為小寫
print('DDD34'.isupper())#字符串中的字母都為大寫字母
print(len('dda'))#返回字符串長(zhǎng)度
print('1'.ljust(3,'0'))#左對(duì)齊
print('DDD'.lower())#將大寫轉(zhuǎn)換成小寫
print(max('bdc'))#返回字符串中最大的字母
print(min('bda'))#返回字符串中最小的字母
print('1'.rjust(3,'0'))#右對(duì)齊
print('  fds  a   '.rstrip())#刪除末尾的空白
print('  fds  a   '.lstrip())#刪除開頭的空白
print('  fds  a   '.strip())#刪除開頭和結(jié)尾的空白
print('world'.title())#將字符串標(biāo)題化就是單詞首字母大寫
print('worldD'.upper())#將小寫字母轉(zhuǎn)換成大寫

05-字符串格式化

python支持格式化字符串的輸出。
基本用法:將一個(gè)值插入到一個(gè)有字符串格式符%s的字符串中。
例子

print('我的名字是%s今年%d歲'%('小李',20))

結(jié)果:


格式化字符串.png

python中常用的字符串格式化符號(hào)有:
%c-----格式化字符及其ASCII碼
%s-----格式化字符串
%d-----格式化整數(shù)
%u-----格式化無(wú)符號(hào)整型
%o-----格式化無(wú)符號(hào)八進(jìn)制數(shù)
%x-----格式化無(wú)符號(hào)十六進(jìn)制數(shù)
%X-----格式化無(wú)符號(hào)十六進(jìn)制數(shù)(大寫)
%f-----格式化浮點(diǎn)數(shù)字
%e-----格式化科學(xué)計(jì)數(shù)法的浮點(diǎn)數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、字符串 1.字符串的基本知識(shí) 要點(diǎn): 使用單/雙引號(hào)括起來(lái)的字符集就是字符串如:'56''sdff''#$#d...
    HavenYoung閱讀 657評(píng)論 0 6
  • 1.字符串 字符串:使用單引號(hào)或雙引號(hào)括起來(lái)的字符集就是字符串,引號(hào)中單獨(dú)的符號(hào)、數(shù)字、字母、空格等叫字符。 例:...
    FansYuercero閱讀 432評(píng)論 0 7
  • 1.什么是字符串 a.使用單引號(hào)或者雙引號(hào)括起來(lái)的字符集就是字符串。 b.引號(hào)中單獨(dú)的符號(hào)、數(shù)字、字母等叫字符 c...
    PIECE_MAN閱讀 1,569評(píng)論 0 6
  • 1.什么是字符串 a.使用單引號(hào)或者或者雙引號(hào)括起來(lái)的字符集就是字符串b.引號(hào)中單獨(dú)的符號(hào)、數(shù)字、字母等叫字符c....
    小先生_8bfd閱讀 439評(píng)論 0 3
  • 我愿化作一棵樹, 長(zhǎng)在你必經(jīng)過(guò)的路旁. 陽(yáng)光下, 滿心歡喜的讓小花開滿枝椏, 也許不夠美, 但朵朵都是我對(duì)你的期盼...
    止語(yǔ)靜默閱讀 944評(píng)論 1 3