大學(xué)Python學(xué)習(xí)課件第09講-字符串_第1頁(yè)
大學(xué)Python學(xué)習(xí)課件第09講-字符串_第2頁(yè)
大學(xué)Python學(xué)習(xí)課件第09講-字符串_第3頁(yè)
大學(xué)Python學(xué)習(xí)課件第09講-字符串_第4頁(yè)
大學(xué)Python學(xué)習(xí)課件第09講-字符串_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9講字符串上海對(duì)外經(jīng)貿(mào)大學(xué)統(tǒng)計(jì)與信息學(xué)院上周回顧-課后作業(yè)1輸入若干個(gè)同學(xué)的計(jì)算機(jī)成績(jī)(成績(jī)范圍0-120)。求出這些同學(xué)的計(jì)算機(jī)成績(jī)平均值,最小值和最大值。上周回顧-課后作業(yè)2利用while循環(huán)創(chuàng)建一個(gè)包含10個(gè)奇數(shù)的列表,并計(jì)算該列表的和與平均值。主要內(nèi)容:字符串定義字符串格式化字符串內(nèi)置方法字符串應(yīng)用重點(diǎn)和難點(diǎn)字符串格式化字符串內(nèi)置方法內(nèi)容提要1字符串字符串概念字符串類型是一類特殊的數(shù)據(jù)集對(duì)象,是一種序列,也就是字符串序列。字符串構(gòu)造在python中字符串的構(gòu)造,主要通過兩種方法來實(shí)現(xiàn),一是str函數(shù),二是用單引號(hào)或雙引號(hào)或三引號(hào)。2025/1/451單引號(hào)或雙引號(hào)構(gòu)造字符串在用單引號(hào)或雙引號(hào)構(gòu)造字符串時(shí),要求引號(hào)成對(duì)出現(xiàn)。構(gòu)造字符串的方法示例:2025/1/461單雙引號(hào)構(gòu)造字符串的特殊用法如果代碼中的字符串包含了單引號(hào),那么整個(gè)字符串就要用雙引號(hào)來構(gòu)造。如果代碼中的字符串包含了雙引號(hào),字符串標(biāo)識(shí)可使用單引號(hào)。2025/1/471字符串中引號(hào)的轉(zhuǎn)義字符串中引號(hào)的轉(zhuǎn)義,可以解決單、雙引號(hào)構(gòu)造字符串的一些錯(cuò)誤。2025/1/48解析:上面代碼中的反斜線“\”對(duì)字符串中的引號(hào)進(jìn)行了轉(zhuǎn)義,表示’\’后的單引號(hào)是字符串中的一個(gè)字符,而不是字符串的構(gòu)造字符。1轉(zhuǎn)義字符計(jì)算機(jī)中存在可見字符與不可見字符可見字符可以在屏幕上直接顯示;不可見字符是指換行、制表符等起到一定的控制功能,在屏幕上沒有直接的顯示。不可見字符只能用轉(zhuǎn)義字符表示,可見字符也可以用轉(zhuǎn)義字符表示。轉(zhuǎn)義字符以”\”開頭,后接字符或數(shù)字。2025/1/491常用轉(zhuǎn)義字符列表2025/1/410示例1:用轉(zhuǎn)義字符實(shí)現(xiàn)下列語句的正確輸出,程序保存為eg1_char.py運(yùn)行結(jié)果:1字符的轉(zhuǎn)義11思考:用雙引號(hào)作為定界符程序該怎樣編寫?1三重引號(hào)字符串三重引號(hào)將保留所有字符串的格式信息。如字符串跨越多行,行與行之間的回車符、引號(hào)、制表符或者其他任何信息,都將保存下來。在三重引號(hào)中可以自由的使用單引號(hào)和雙引號(hào)。三重引號(hào)字符串示例:2025/1/4122字符串格式化-引入問題字符串是程序向人們展示信息的方式,如何創(chuàng)建包含變量的字符串?也就是說,如何使用專門的格式和語法把變量的內(nèi)容放到字符串里?引例:2025/1/4132字符串格式化字符串格式化使用print函數(shù)可以輸出各種對(duì)象,但print函數(shù)無法輸出設(shè)計(jì)復(fù)雜的格式。在python中提供了字符串格式化的方法。字符串格式化涉及到兩個(gè)概念:格式和格式化其中格式以%開頭,格式化運(yùn)算符用%表示,用對(duì)象代替格式串中的格式,最終得到1個(gè)字符串。2025/1/4142字符串格式化說明:(1)[]中的內(nèi)容可以省略;(2)簡(jiǎn)單的格式是%加格式字符,如%f、%d、%c等;(3)當(dāng)最小寬度及精度都出現(xiàn)時(shí),它們之間不能有空格,格式字符和其他選項(xiàng)之間也不能有空格。如%8.2f兩個(gè)單引號(hào)是字符串標(biāo)記,也可以用雙引號(hào)對(duì)%表10-1格式字符的含義格式說明%c格式化字符或其ASCII碼%s格式化字符串%d格式化整數(shù)%u格式化無符號(hào)十進(jìn)制整數(shù)%o格式化八進(jìn)制數(shù)%x格式化十六進(jìn)制數(shù)%f格式化浮點(diǎn)數(shù),可指定小數(shù)位數(shù)%e用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)"

%格式字符

"

%變量(或表達(dá)式)2最小寬度和精度最小寬度是轉(zhuǎn)換后的值所保留的最小字符個(gè)數(shù)。精度(對(duì)于數(shù)字來說)則是結(jié)果中應(yīng)該包含的小數(shù)位數(shù)。最小寬度和精度示例:2025/1/417解析:把a(bǔ)轉(zhuǎn)化為含6個(gè)字符的小數(shù)串,保留2位小數(shù),對(duì)第2位四舍五入。不足6個(gè)字符則在左邊補(bǔ)空格。解析:"%-2d"%5表示5占兩個(gè)字符寬度,左對(duì)齊輸出,則輸出中5后面補(bǔ)一個(gè)空格。2進(jìn)位制和科學(xué)計(jì)數(shù)法把一個(gè)數(shù)轉(zhuǎn)換成不同的進(jìn)位制,也可按科學(xué)計(jì)數(shù)法進(jìn)行轉(zhuǎn)換。進(jìn)位制和科學(xué)計(jì)數(shù)法示例:2025/1/418解析:示例代碼表示將十進(jìn)制數(shù)a分別轉(zhuǎn)換為八進(jìn)制串、十六進(jìn)制串和科學(xué)計(jì)數(shù)法串。3字符串的截取字符串中字符的索引位置3字符串截取的兩種方法:一種是通過索引str[index]取出單個(gè)字符;另一種是通過切片s[[start]:[end][:step]]取出一個(gè)子字符串。2025/1/420ASCII碼ord()返回字符的ASCII的十進(jìn)制值chr()返回整數(shù)對(duì)應(yīng)的字符2025/1/4212025/1/422ASCII碼示例2輸入一個(gè)字符串,然后依次顯示該字符串的每一個(gè)字符以及該字符的ASCII碼,程序保存為eg2_asi.py。2025/1/423程序某一次運(yùn)行結(jié)果:第1種方法:2025/1/424第2種方法:示例3_改進(jìn)改進(jìn)輸出:用字符串格式化方式輸出如下形式程序保存為eg2_asi_改進(jìn).py2025/1/425eg2_asi_改進(jìn).py2025/1/426思考:顯示輸入字符串的下標(biāo)為奇數(shù)的字符以及該字符的ASCII碼,程序如何修改?程序保存為eg2_asi_si.py2025/1/4274字符串方法lower方法:返回一個(gè)新串,該串把原串中的大寫字母全部轉(zhuǎn)換成小寫字母,其他字符不變。這種方法對(duì)“不區(qū)分大小寫”的程序非常有用。282025/1/4注意:string中的值有沒有變化?思考:將所有字母轉(zhuǎn)換為大寫字母用什么方法?示例3用戶名“Angel”,

“Jone”,

“Alice”,

“Mike”,

"admin"存儲(chǔ)在一個(gè)列表中,在列表中查找一個(gè)用戶名”admin”是否存在。要求用戶如果輸入”Admin”或者”ADMIN”都能找到(即不區(qū)分大小寫)文件保存為eg3_name.py解決方法:在查找時(shí)把所有姓名都轉(zhuǎn)換為小寫或者大寫292025/1/4程序eg3_name.py302025/1/4思考:如果不僅僅是查找admin(不區(qū)分大小寫)呢?比如查找alice、ALIce、Alice等(也即不區(qū)分大小寫),在不改變列表的前提下程序該如何改寫?程序保存為“eg3_name_改進(jìn).py”4

find方法find方法:可以在一個(gè)字符串中查找子串,并返回子串所在位置的最左端索引位置,如果沒有找到則返回-1。格式:s.find(sub[,start[,end]])312025/1/44

split方法split方法:用來將字符串分割成序列。如果字符串中的某種字符出現(xiàn)0次或多次,可以根據(jù)該字符把字符串分離成多個(gè)子串組成的列表。split方法示例:322025/1/4split方法舉例332025/1/4如果沒有找到對(duì)應(yīng)的分隔符,則返回整個(gè)字符串作為列表的唯一元素如果未指定分割符,則以默認(rèn)的空白字符為分隔符4

join方法join方法:連接序列中的字符串,是split()方法的逆方法,結(jié)果是字符串示例:342025/1/4示例4用戶輸入幾個(gè)數(shù)字,用逗號(hào)分隔,編程求這些數(shù)字的和。文件保存為eg4_sum.py分析:用戶輸入的數(shù)字個(gè)數(shù)雖然是動(dòng)態(tài)的,但是可以當(dāng)作一個(gè)字符串來處理。首先分離出數(shù)字串,然后再轉(zhuǎn)換成數(shù)字,這樣就能求和。352025/1/4程序eg4_sum.py362025/1/4程序的一次運(yùn)行結(jié)果:另一種方法eg4_sum_another.py372025/1/4s是一個(gè)字符串列表程序的一次運(yùn)行結(jié)果:4

replace方法replace方法:str.replace(old,new[,max])old--將被替換的子串。new--新字符串,用于替換old的子串。max--可選字符串,替換不超過max次查找字符串所有匹配項(xiàng)并替換,并返回原字符串中所有匹配項(xiàng)都被替換之后得到的新字符串,原字符串保持不變。replace方法示例:382025/1/44

strip方法strip方法:去除字符串兩側(cè)的空格,并返回字符串,依然不改變?cè)怠trip方法示例:思考:去除字符串中間的空格如何操作?392025/1/44字符串處理函數(shù)int(x[,d]):函數(shù)返回?cái)?shù)字x的整數(shù)部分,或把d進(jìn)位的字符串轉(zhuǎn)換成十進(jìn)制數(shù)402025/1/4示例5編寫程序:生成一個(gè)包含10個(gè)不重復(fù)的取自a~z(隨機(jī)生成)的小寫字母的列表;將原列表中所有下標(biāo)為偶數(shù)的元素組成新列表;先輸出原列表和新列表;新列表再采用字符串格式化方式“%s”逐個(gè)輸出。文件保存為eg5_rand.py。提示:產(chǎn)生隨機(jī)數(shù)需要導(dǎo)入random模塊,其中random.randint(a,b),用于生成一個(gè)指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n:a<=n<=b。412025/1/4程序eg5_rand.py422025/1/4程序的某次運(yùn)行結(jié)果:課堂練習(xí)與課后作業(yè)課堂練習(xí)課件相關(guān)示例及思考題課后作業(yè)1.輸入一個(gè)字符串,將該字符串中下標(biāo)為偶數(shù)的字符組成新串并通過字符串格式化方式顯示。程序保存為學(xué)號(hào)_exam9_1.py。2.輸入一個(gè)字符串,分別統(tǒng)計(jì)大寫字母、小寫字母、數(shù)字以及其它字符的個(gè)數(shù),并通過字符串格式化方式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論