版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3Python中的字符串3Python中的字符串第3章Python中的字符串本章內(nèi)容字符串的表示字符串的格式化用%操作符格式化字符串format()方法字符串的操作符字符串處理函數(shù)輸入/輸出語(yǔ)句第3章Python中的字符串本章內(nèi)容3.1字符串的表示字符串的定義str,字符集合,被引號(hào)包含。引號(hào)可以是單引號(hào)、雙引號(hào)或者三引號(hào)單引號(hào)和雙引號(hào)包含的是單行字符三引號(hào)可以包含多行字符串三個(gè)引號(hào)能包含多行字符串,經(jīng)常出現(xiàn)在函數(shù)聲明的下一行,用來(lái)注釋函數(shù)的功能。轉(zhuǎn)義字符用于表示一些在某些場(chǎng)合不能直接輸入的特殊字符。符號(hào)含義符號(hào)含義描述\續(xù)行符\n換行\(zhòng)\反斜杠符號(hào)\t橫向制表符\'單引號(hào)\r回車\"雙引號(hào)\f換頁(yè)\a響鈴\ooo八進(jìn)制\b退格\xhh十六進(jìn)制\0空\(chéng)other其它的字符3.1字符串的表示字符串的定義轉(zhuǎn)義字符符號(hào)含義符號(hào)含義描3.2字符串的格式化用%操作符格式化字符使用一個(gè)字符串作為模板。模板中的格式符用作顯示值預(yù)留位置,并說(shuō)明顯示數(shù)值應(yīng)該呈現(xiàn)的格式。Python用一個(gè)元組(tuple)將多個(gè)值傳遞給模板。%[(name)][flags][width].[precision]typecode#顯示十進(jìn)制數(shù)>>>"%d%d"%(12,12.3)'1212'#設(shè)定十進(jìn)制數(shù)顯示寬度>>>"%6d%6d"%(12,12.3)'1212'#顯示字符串和整數(shù),分別設(shè)置寬度>>>"%10sis%-3dyearsold"%("Rose",18)'Roseis18yearsold'3.2字符串的格式化用%操作符格式化字符#顯示十進(jìn)制數(shù)#3.2字符串的格式化字符串輸出的格式化format()方法str.format()方法,更方便字符串格式化。(1)模板字符串與format()方法中參數(shù)的對(duì)應(yīng)關(guān)系●位置參數(shù)匹配
如果占位符{}為空(沒有表示順序的序號(hào)),按照參數(shù)出現(xiàn)的先后次序匹配。如果占位符{}指定參數(shù)的序號(hào),按照序號(hào)對(duì)應(yīng)參數(shù)替換?!袷褂面I值對(duì)的關(guān)鍵字參數(shù)匹配format()方法中的參數(shù)用鍵值對(duì)形式表示時(shí),在模板字符串中用“鍵”來(lái)表示?!袷褂眯蛄械乃饕鳛閰?shù)匹配3.2字符串的格式化字符串輸出的格式化3.2字符串的格式化字符串輸出的格式化
例2-10模板字符串與format()方法中參數(shù)的關(guān)系。#
位置參數(shù)>>>
"{}
is
{}
years
old".format("Rose",18)'Rose
is
18
years
old'>>>
"{0}
is
{1}
years
old".format("Rose",18)'Rose
is
18
years
old'>>>
"Hi,{0}!{0}
is
{1}
years
old".format("Rose",18)'Hi,Rose!Rose
is
18
years
old'#
關(guān)鍵字參數(shù)>>>
"{name}
was
born
in
{year},He
is
{age}
years
old".format(name="Rose",age=
18,year=2000)'Rose
was
born
in
200,He
is
18
years
old'
3.2字符串的格式化字符串輸出的格式化3.2字符串的格式化字符串輸出的格式化
(2)模板字符串str的格式控制
[[fill]align][sign][width][,][.precision][type]
例:>>>
print('{:*>8}'.format('3.14'))
#
寬度8位,右對(duì)齊****3.14>>>
print('{:*<8}'.format('3.14'))
#
寬度8位,左對(duì)齊3.14****>>>
print('{0:^8},{0:*^8}'.format('3.14'))
#
寬度8位,居中對(duì)齊
3.14
,**3.14**
3.2字符串的格式化字符串輸出的格式化3.3字符串的操作符實(shí)現(xiàn)字符串的連接、子串的選擇、子串的包含判斷等操作。操作符描述+連接字符串*重復(fù)輸出字符串[i]切片操作。通過索引獲取字符串中字符,i是字符的索引[:]切片操作。截取字符串中的一部分in如果字符串中包含給定的字符返回Truenotin如果字符串中不包含給定的字符返回Truer/R原始字符串。原始字符串用來(lái)替代轉(zhuǎn)義符表示的特殊字符,在原字符串的第一個(gè)引號(hào)前加上字母
r(R),與普通字符串操作相同。b返回二進(jìn)制字符串,在原字符串的第一個(gè)引號(hào)前加上字母b,可用于寫二進(jìn)制文件,例如b"123"。%格式化字符串操作符3.3字符串的操作符實(shí)現(xiàn)字符串的連接、子串的選擇、子串的3.3字符串的操作符例3-5
字符串操作符的應(yīng)用。
>>>
str1="Hi,Python!">>>
str1*2
#str1重復(fù)顯示2次,str1未發(fā)生改變'Hi,Python!Hi,Python!'>>>
id(str1)
#str1在內(nèi)存中標(biāo)識(shí)#54364264>>>
str1+="Hi,Java!">>>
id(str1)
#str1連接字符串后,id發(fā)生改變54338768>>>
str1#'Hi,Python!Hi,Java!'#
字符串切片操作>>>
str1[3:9]#'Python'3.3字符串的操作符例3-5字符串操作符的應(yīng)用。3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)1.大小寫轉(zhuǎn)換函數(shù)2.查找替換函數(shù)3.字符判斷函數(shù).字符串頭尾判斷函數(shù)5.計(jì)算函數(shù)6.字符串拆分與合并type()函數(shù),用于測(cè)試變量類型id()函數(shù),用于測(cè)試變量的id值format()函數(shù)3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)type()函數(shù)3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)1.大小寫轉(zhuǎn)換函數(shù)函數(shù)名lower()upper()capitalize()swapcase()例3-6
大小寫轉(zhuǎn)換函數(shù)的應(yīng)用。
>>>
str1="hi,Python">>>
str1.lower()'hi,python'>>>
str1.upper()'HI,PYTHON'>>>
str1.capitalize()'Hi,python'>>>
str1.swapcase()'HI,pYTHON'3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)函數(shù)名lower3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)2.查找替換函數(shù)例3-7
查找替換函數(shù)的應(yīng)用。>>>
str1="hi,Python!hi,Java!">>>
str1.find("hi")#0>>>
str1.rfind("hi")#10>>>
str1.index("a")>>>
str1.rindex("a")函數(shù)名功能描述find(str[,strat[,end]])檢測(cè)str是否包含在字符串中,如果指定范圍start和end,則檢查是否包含在指定范圍內(nèi)。如果包含,返回str的索引值,否則返回?13.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)函數(shù)名功能描述f3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)6.字符串拆分與合并>>>
str1="hi,Python,hi,Java!">>>
str1.split(",")
#使用逗號(hào)做分配符,3個(gè)逗號(hào),分隔3次['hi',
'Python',
'hi',
'Java!']>>>
lst=['hi',
'Python!',
'hi','Java!']>>>
s="">>>
s.join(lst)
#將列表連接為字符串,#'hiPython!hiJava!'函數(shù)名功能描述split(sep,num)以sep為分隔符分隔字符串,如果num有指定值,則僅截取num個(gè)子字符串join(seq)以指定字符串作為分隔符,將seq中所有的元素合并為一個(gè)新的字符串3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)函數(shù)名功能描述s3.5輸入/輸出語(yǔ)句輸入語(yǔ)句input()函數(shù)用于取得用戶的輸入數(shù)據(jù)。varname=input("promptMessage")
varname是input()函數(shù)返回的字符串?dāng)?shù)據(jù)promptMessage是提示信息,其參數(shù)可以省略當(dāng)程序執(zhí)行到input()函數(shù)時(shí),會(huì)暫停執(zhí)行,等待用戶輸入,用戶輸入的全部數(shù)據(jù)均作為輸入內(nèi)容使用eval()函數(shù)得到表達(dá)式的數(shù)值,int()或float()函數(shù)也可以使用。3.5輸入/輸出語(yǔ)句輸入語(yǔ)句3.5輸入/輸出語(yǔ)句輸出語(yǔ)句print()函數(shù)完成基本的輸出操作。print([objl,…][,sep=''][,end='\n'][,file=sys.stdout])
同時(shí)輸出一個(gè)或多個(gè)對(duì)象,在輸出多個(gè)對(duì)象時(shí),對(duì)象之間默認(rèn)用逗號(hào)分隔。指定輸出分隔符,使用sep參數(shù)指定分隔符號(hào)。end參數(shù)指定輸出結(jié)尾符號(hào),默認(rèn)以回車換行符作為輸出結(jié)尾符號(hào)。使用file參數(shù)可指定輸出到特定文件。3.5輸入/輸出語(yǔ)句輸出語(yǔ)句3.5輸入/輸出語(yǔ)句輸出語(yǔ)句例3-13print()函數(shù)的使用。
>>>
x,y,z=100,200,300>>>
print(x,y,z)
#print()函數(shù)中的多個(gè)參數(shù)用逗號(hào)分隔100
200
300
>>>
print(x,y,z,sep="##")
#設(shè)置print()函數(shù)的輸出分隔符為##100##200##300>>>
print(x);print(y);print(z)
#3個(gè)print()語(yǔ)句,默認(rèn)分行顯示#
print()設(shè)置end參數(shù),用空格分隔,不換行>>>
print(x,end="
");print(y,end="
");print(z)100
200
3003.5輸入/輸出語(yǔ)句輸出語(yǔ)句小結(jié)Python中的字符串是字符的集合,它被單引號(hào)、雙引號(hào)或者三引號(hào)包圍。可以使用%操作符格式化字符串,又可以使用str.format()方法格式化字符串,第2種方法更為常用。使用+、*、[]等運(yùn)算符可以實(shí)現(xiàn)字符串的運(yùn)算和切片操作。字符串的函數(shù)包括大小寫轉(zhuǎn)換函數(shù)、查找替換函數(shù)、判斷函數(shù)、計(jì)算函數(shù)、拆分合并函數(shù)等類型,必要時(shí)請(qǐng)讀者查閱Python幫助文檔。id()函數(shù),主要用于數(shù)據(jù)測(cè)試。Python的內(nèi)置函數(shù)input()用于取得用戶輸入的數(shù)據(jù),print()函數(shù)用于基本的輸出操作。小結(jié)Python中的字符串是字符的集合,它被單引號(hào)、雙引號(hào)或作業(yè):(1)編寫程序,給出一個(gè)英文句子,統(tǒng)計(jì)單詞個(gè)數(shù)。(2)編寫程序,給出一個(gè)字符串,將其中的字符“E”用空格替換后輸出。(3)從鍵盤交互式輸入一個(gè)人的18位的身份證號(hào),以類似于“2001年09月12日”的形式輸出該人的出生日期。作業(yè):ThanksThanks3Python中的字符串3Python中的字符串第3章Python中的字符串本章內(nèi)容字符串的表示字符串的格式化用%操作符格式化字符串format()方法字符串的操作符字符串處理函數(shù)輸入/輸出語(yǔ)句第3章Python中的字符串本章內(nèi)容3.1字符串的表示字符串的定義str,字符集合,被引號(hào)包含。引號(hào)可以是單引號(hào)、雙引號(hào)或者三引號(hào)單引號(hào)和雙引號(hào)包含的是單行字符三引號(hào)可以包含多行字符串三個(gè)引號(hào)能包含多行字符串,經(jīng)常出現(xiàn)在函數(shù)聲明的下一行,用來(lái)注釋函數(shù)的功能。轉(zhuǎn)義字符用于表示一些在某些場(chǎng)合不能直接輸入的特殊字符。符號(hào)含義符號(hào)含義描述\續(xù)行符\n換行\(zhòng)\反斜杠符號(hào)\t橫向制表符\'單引號(hào)\r回車\"雙引號(hào)\f換頁(yè)\a響鈴\ooo八進(jìn)制\b退格\xhh十六進(jìn)制\0空\(chéng)other其它的字符3.1字符串的表示字符串的定義轉(zhuǎn)義字符符號(hào)含義符號(hào)含義描3.2字符串的格式化用%操作符格式化字符使用一個(gè)字符串作為模板。模板中的格式符用作顯示值預(yù)留位置,并說(shuō)明顯示數(shù)值應(yīng)該呈現(xiàn)的格式。Python用一個(gè)元組(tuple)將多個(gè)值傳遞給模板。%[(name)][flags][width].[precision]typecode#顯示十進(jìn)制數(shù)>>>"%d%d"%(12,12.3)'1212'#設(shè)定十進(jìn)制數(shù)顯示寬度>>>"%6d%6d"%(12,12.3)'1212'#顯示字符串和整數(shù),分別設(shè)置寬度>>>"%10sis%-3dyearsold"%("Rose",18)'Roseis18yearsold'3.2字符串的格式化用%操作符格式化字符#顯示十進(jìn)制數(shù)#3.2字符串的格式化字符串輸出的格式化format()方法str.format()方法,更方便字符串格式化。(1)模板字符串與format()方法中參數(shù)的對(duì)應(yīng)關(guān)系●位置參數(shù)匹配
如果占位符{}為空(沒有表示順序的序號(hào)),按照參數(shù)出現(xiàn)的先后次序匹配。如果占位符{}指定參數(shù)的序號(hào),按照序號(hào)對(duì)應(yīng)參數(shù)替換?!袷褂面I值對(duì)的關(guān)鍵字參數(shù)匹配format()方法中的參數(shù)用鍵值對(duì)形式表示時(shí),在模板字符串中用“鍵”來(lái)表示。●使用序列的索引作為參數(shù)匹配3.2字符串的格式化字符串輸出的格式化3.2字符串的格式化字符串輸出的格式化
例2-10模板字符串與format()方法中參數(shù)的關(guān)系。#
位置參數(shù)>>>
"{}
is
{}
years
old".format("Rose",18)'Rose
is
18
years
old'>>>
"{0}
is
{1}
years
old".format("Rose",18)'Rose
is
18
years
old'>>>
"Hi,{0}!{0}
is
{1}
years
old".format("Rose",18)'Hi,Rose!Rose
is
18
years
old'#
關(guān)鍵字參數(shù)>>>
"{name}
was
born
in
{year},He
is
{age}
years
old".format(name="Rose",age=
18,year=2000)'Rose
was
born
in
200,He
is
18
years
old'
3.2字符串的格式化字符串輸出的格式化3.2字符串的格式化字符串輸出的格式化
(2)模板字符串str的格式控制
[[fill]align][sign][width][,][.precision][type]
例:>>>
print('{:*>8}'.format('3.14'))
#
寬度8位,右對(duì)齊****3.14>>>
print('{:*<8}'.format('3.14'))
#
寬度8位,左對(duì)齊3.14****>>>
print('{0:^8},{0:*^8}'.format('3.14'))
#
寬度8位,居中對(duì)齊
3.14
,**3.14**
3.2字符串的格式化字符串輸出的格式化3.3字符串的操作符實(shí)現(xiàn)字符串的連接、子串的選擇、子串的包含判斷等操作。操作符描述+連接字符串*重復(fù)輸出字符串[i]切片操作。通過索引獲取字符串中字符,i是字符的索引[:]切片操作。截取字符串中的一部分in如果字符串中包含給定的字符返回Truenotin如果字符串中不包含給定的字符返回Truer/R原始字符串。原始字符串用來(lái)替代轉(zhuǎn)義符表示的特殊字符,在原字符串的第一個(gè)引號(hào)前加上字母
r(R),與普通字符串操作相同。b返回二進(jìn)制字符串,在原字符串的第一個(gè)引號(hào)前加上字母b,可用于寫二進(jìn)制文件,例如b"123"。%格式化字符串操作符3.3字符串的操作符實(shí)現(xiàn)字符串的連接、子串的選擇、子串的3.3字符串的操作符例3-5
字符串操作符的應(yīng)用。
>>>
str1="Hi,Python!">>>
str1*2
#str1重復(fù)顯示2次,str1未發(fā)生改變'Hi,Python!Hi,Python!'>>>
id(str1)
#str1在內(nèi)存中標(biāo)識(shí)#54364264>>>
str1+="Hi,Java!">>>
id(str1)
#str1連接字符串后,id發(fā)生改變54338768>>>
str1#'Hi,Python!Hi,Java!'#
字符串切片操作>>>
str1[3:9]#'Python'3.3字符串的操作符例3-5字符串操作符的應(yīng)用。3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)1.大小寫轉(zhuǎn)換函數(shù)2.查找替換函數(shù)3.字符判斷函數(shù).字符串頭尾判斷函數(shù)5.計(jì)算函數(shù)6.字符串拆分與合并type()函數(shù),用于測(cè)試變量類型id()函數(shù),用于測(cè)試變量的id值format()函數(shù)3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)type()函數(shù)3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)1.大小寫轉(zhuǎn)換函數(shù)函數(shù)名lower()upper()capitalize()swapcase()例3-6
大小寫轉(zhuǎn)換函數(shù)的應(yīng)用。
>>>
str1="hi,Python">>>
str1.lower()'hi,python'>>>
str1.upper()'HI,PYTHON'>>>
str1.capitalize()'Hi,python'>>>
str1.swapcase()'HI,pYTHON'3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)函數(shù)名lower3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)2.查找替換函數(shù)例3-7
查找替換函數(shù)的應(yīng)用。>>>
str1="hi,Python!hi,Java!">>>
str1.find("hi")#0>>>
str1.rfind("hi")#10>>>
str1.index("a")>>>
str1.rindex("a")函數(shù)名功能描述find(str[,strat[,end]])檢測(cè)str是否包含在字符串中,如果指定范圍start和end,則檢查是否包含在指定范圍內(nèi)。如果包含,返回str的索引值,否則返回?13.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)函數(shù)名功能描述f3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)6.字符串拆分與合并>>>
str1="hi,Python,hi,Java!">>>
str1.split(",")
#使用逗號(hào)做分配符,3個(gè)逗號(hào),分隔3次['hi',
'Python',
'hi',
'Java!']>>>
lst=['hi',
'Python!',
'hi','Java!']>>>
s="">>>
s.join(lst)
#將列表連接為字符串,#'hiPython!hiJava!'函數(shù)名功能描述split(sep,num)以sep為分隔符分隔字符串,如果num有指定值,則僅截取num個(gè)子字符串join(seq)以指定字符串作為分隔符,將seq中所有的元素合并為一個(gè)新的字符串3.4字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)函數(shù)名功能描述s3.5輸入/輸出語(yǔ)句輸入語(yǔ)句input()函數(shù)用于取得用戶的輸入數(shù)據(jù)。varname=input("promptMessage")
varname是input()函數(shù)返回的字符串?dāng)?shù)據(jù)promptMessage是提示信息,其參數(shù)可以省略當(dāng)程序執(zhí)行到input()函數(shù)時(shí),會(huì)暫停執(zhí)行,等待用戶輸入,用戶輸入的全部數(shù)據(jù)均作為輸入內(nèi)容使用eval()函數(shù)得到表達(dá)式的數(shù)值,int()或float()函數(shù)也可以使用。3.5輸入/輸出語(yǔ)句輸入語(yǔ)句3.5輸入/輸出語(yǔ)句輸出語(yǔ)句print(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 華師大版初中科學(xué)課件
- 華師大版初中科學(xué)3.3 陽(yáng)光的組成(14課件)
- 2023-2024學(xué)年浙江省寧波市余姚市子陵中學(xué)教育集團(tuán)子陵校區(qū)七年級(jí)(下)競(jìng)賽數(shù)學(xué)試卷
- 上班遲到與曠工處理制度
- 邏輯代數(shù)基本公式及定律
- 2022年三年級(jí)語(yǔ)文下冊(cè)第八單元主題閱讀+答題技巧(含答案、解析)部編版
- 佛山市重點(diǎn)中學(xué)2024屆高三模擬考試(一)數(shù)學(xué)試題理試卷
- 算法設(shè)計(jì)與分析 課件 10.3.4-綜合應(yīng)用-最短路徑問題-弗洛伊德算法
- 2024年河北客運(yùn)資格專業(yè)能力考試題庫(kù)
- 2024年紅河客運(yùn)從業(yè)資格證考試答案
- 醫(yī)院創(chuàng)新思維的幾種基本形式與作用
- LoanAgreement(貸款協(xié)議)模板
- 中國(guó)上海日出日落方位角概要
- 校本課程評(píng)價(jià)表
- 醫(yī)藥物流項(xiàng)目可行性研究報(bào)告
- 《植物生理學(xué)》課件第九章+植物生長(zhǎng)生理
- 加強(qiáng)社區(qū)服務(wù)人才隊(duì)伍建設(shè)實(shí)施方案
- 高中學(xué)生創(chuàng)新思維能力現(xiàn)狀調(diào)查問卷
- GR-326-CORE規(guī)范講解資料課件
- DBT29-295-2021 600MPa級(jí)高強(qiáng)鋼筋混凝土結(jié)構(gòu)技術(shù)標(biāo)準(zhǔn)
- 飲用水檢測(cè)現(xiàn)狀與質(zhì)量控制ppt課件
評(píng)論
0/150
提交評(píng)論