Python程序設(shè)計(jì)教程-03-Python中的字符串課件_第1頁(yè)
Python程序設(shè)計(jì)教程-03-Python中的字符串課件_第2頁(yè)
Python程序設(shè)計(jì)教程-03-Python中的字符串課件_第3頁(yè)
Python程序設(shè)計(jì)教程-03-Python中的字符串課件_第4頁(yè)
Python程序設(shè)計(jì)教程-03-Python中的字符串課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論