版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、3 Python中的字符串第3章 Python中的字符串本章內(nèi)容字符串的表示字符串的格式化用%操作符格式化字符串format()方法字符串的操作符字符串處理函數(shù)輸入/輸出語句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ù)聲明的下一行,用來注釋函數(shù)的功能。轉(zhuǎn)義字符用于表示一些在某些場合不能直接輸入的特殊字符。符號(hào)含義符號(hào)含義描述續(xù)行符n換行反斜杠符號(hào)t橫向制表符單引號(hào)r回車雙引號(hào)f換頁a響鈴ooo八進(jìn)制b退格xhh十六進(jìn)制0空other其它的字符3.2
2、字符串的格式化用%操作符格式化字符使用一個(gè)字符串作為模板。模板中的格式符用作顯示值預(yù)留位置,并說明顯示數(shù)值應(yīng)該呈現(xiàn)的格式。Python用一個(gè)元組(tuple)將多個(gè)值傳遞給模板。%(name)flagswidth.precisiontypecode# 顯示十進(jìn)制數(shù) %d %d%(12,12.3)12 12# 設(shè)定十進(jìn)制數(shù)顯示寬度 %6d %6d%(12,12.3) 12 12# 顯示字符串和整數(shù),分別設(shè)置寬度 %10s is %-3d years old%(Rose,18) Rose is 18 years old3.2 字符串的格式化字符串輸出的格式化format()方法str.format
3、()方法,更方便字符串格式化。(1)模板字符串與format()方法中參數(shù)的對應(yīng)關(guān)系 位置參數(shù)匹配 如果占位符為空(沒有表示順序的序號(hào)),按照參數(shù)出現(xiàn)的先后次序匹配。如果占位符指定參數(shù)的序號(hào),按照序號(hào)對應(yīng)參數(shù)替換。 使用鍵值對的關(guān)鍵字參數(shù)匹配 format()方法中的參數(shù)用鍵值對形式表示時(shí),在模板字符串中用“鍵”來表示。 使用序列的索引作為參數(shù)匹配3.2 字符串的格式化字符串輸出的格式化 例2-10 模板字符串與format()方法中參數(shù)的關(guān)系。#位置參數(shù)isyearsold.format(Rose,18)Roseis18yearsold0is1yearsold.format(Rose,18)
4、Roseis18yearsoldHi,0!0is1yearsold.format(Rose,18)Hi,Rose!Roseis18yearsold#關(guān)鍵字參數(shù)namewasborninyear,Heisageyearsold.format(name=Rose,age=18,year=2000)Rosewasbornin200,Heis18yearsold3.2 字符串的格式化字符串輸出的格式化 (2)模板字符串str的格式控制fillalignsignwidth,.precisiontype例:print(:*8.format(3.14)#寬度8位,右對齊*3.14print(:*print(
5、0:8,0:*8.format(3.14)#寬度8位,居中對齊3.14,*3.14*3.3 字符串的操作符實(shí)現(xiàn)字符串的連接、子串的選擇、子串的包含判斷等操作。操作符描述+連接字符串*重復(fù)輸出字符串i切片操作。通過索引獲取字符串中字符,i是字符的索引 : 切片操作。截取字符串中的一部分in如果字符串中包含給定的字符返回 Truenot in如果字符串中不包含給定的字符返回 Truer/R原始字符串。原始字符串用來替代轉(zhuǎn)義符表示的特殊字符,在原字符串的第一個(gè)引號(hào)前加上字母r(R),與普通字符串操作相同。b返回二進(jìn)制字符串,在原字符串的第一個(gè)引號(hào)前加上字母b,可用于寫二進(jìn)制文件 ,例如 b123。%
6、格式化字符串操作符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í) #54364264str1+=Hi,Java!id(str1)#str1連接字符串后,id發(fā)生改變54338768str1 #Hi,Python!Hi,Java!#字符串切片操作str13:9 #Python3.4 字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)1. 大小寫轉(zhuǎn)換函數(shù)2. 查找替換函數(shù)3. 字符判斷函數(shù).字符串頭尾判斷函數(shù)5. 計(jì)算函數(shù)6. 字符串拆分與合并ty
7、pe()函數(shù),用于測試變量類型id()函數(shù),用于測試變量的id值format()函數(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,Pythonstr1.lower()hi,pythonstr1.upper()HI,PYTHONstr1.capitalize()Hi,pythonstr1.swapcase()HI,pYTHON3.4 字符串處理函數(shù)內(nèi)置的字符串處理函數(shù)2. 查找替換函數(shù)例3-7 查找替換函數(shù)的應(yīng)用。str1=hi,Python!hi,Jav
8、a!str1.find(hi) #0str1.rfind(hi) #10str1.index(a)str1.rindex(a)函數(shù)名功能描述find(str,strat,end )檢測str是否包含在字符串中,如果指定范圍start和end,則檢查是否包含在指定范圍內(nèi)。如果包含,返回str的索引值,否則返回13.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)#將列表
9、連接為字符串,#hiPython!hiJava!函數(shù)名功能描述split(sep, num) 以sep為分隔符分隔字符串,如果num有指定值,則僅截取num個(gè)子字符串join(seq)以指定字符串作為分隔符,將seq中所有的元素合并為一個(gè)新的字符串3.5 輸入/輸出語句輸入語句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á)式
10、的數(shù)值,int()或float()函數(shù)也可以使用。3.5 輸入/輸出語句輸出語句print()函數(shù)完成基本的輸出操作。print(objl,sep= ,end=n,file=sys.stdout)同時(shí)輸出一個(gè)或多個(gè)對象,在輸出多個(gè)對象時(shí),對象之間默認(rèn)用逗號(hào)分隔。指定輸出分隔符,使用sep參數(shù)指定分隔符號(hào)。end參數(shù)指定輸出結(jié)尾符號(hào),默認(rèn)以回車換行符作為輸出結(jié)尾符號(hào)。使用file參數(shù)可指定輸出到特定文件。3.5 輸入/輸出語句輸出語句例3-13 print()函數(shù)的使用。x,y,z=100,200,300print(x,y,z)#print()函數(shù)中的多個(gè)參數(shù)用逗號(hào)分隔100200300prin
11、t(x,y,z,sep=#)#設(shè)置print()函數(shù)的輸出分隔符為#100#200#300print(x);print(y);print(z) #3個(gè)print()語句,默認(rèn)分行顯示#print()設(shè)置end參數(shù),用空格分隔,不換行print(x,end=);print(y,end=);print(z)100200300小結(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í)請讀者查閱Python幫助文檔。id()函數(shù),主要用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土建主體施工合同范例
- 加盟工廠合同范例
- 快遞公司勞動(dòng)合同范例
- 委托拖車服務(wù)合同范例
- 家具商場轉(zhuǎn)租合同范例
- 2次抵押合同范例
- 柜臺(tái)拆除合同范例
- 廠房訂金合同范例
- 舊樓拆除施工合同范例
- 土地借貸合同范例
- 產(chǎn)品研發(fā)合伙人合作協(xié)議書
- 2024年化學(xué)檢驗(yàn)員(中級(jí)工)技能鑒定考試題庫(附答案)
- 【MOOC】中學(xué)化學(xué)教學(xué)設(shè)計(jì)與實(shí)踐-北京師范大學(xué) 中國大學(xué)慕課MOOC答案
- 山東師范大學(xué)《學(xué)術(shù)研究與論文寫作》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024年度VR虛擬現(xiàn)實(shí)內(nèi)容創(chuàng)作合同
- 幼兒園社會(huì)教育專題-形考任務(wù)二-國開(FJ)-參考資料
- 第五單元有趣的立體圖形 (單元測試)-2024-2025學(xué)年一年級(jí)上冊數(shù)學(xué) 北師大版
- 設(shè)備基礎(chǔ)(土建)施工方案
- 部編 2024版歷史七年級(jí)上冊期末(全冊)復(fù)習(xí)卷(后附答案及解析)
- 陶藝課程課件
- 王卓 企業(yè)數(shù)智化能力成熟度模型(EDMM)標(biāo)準(zhǔn)體系解讀
評(píng)論
0/150
提交評(píng)論