《Python程序設(shè)計(jì)》課件-4:字符串的切片及其他函數(shù)_第1頁
《Python程序設(shè)計(jì)》課件-4:字符串的切片及其他函數(shù)_第2頁
《Python程序設(shè)計(jì)》課件-4:字符串的切片及其他函數(shù)_第3頁
《Python程序設(shè)計(jì)》課件-4:字符串的切片及其他函數(shù)_第4頁
《Python程序設(shè)計(jì)》課件-4:字符串的切片及其他函數(shù)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

錄4-1字符串簡(jiǎn)介4-2字符串的輸入輸出4-3字符串的運(yùn)算4-5項(xiàng)目實(shí)現(xiàn)4-6字符串的切片4-4字符串常用函數(shù)4-7字符串其他函數(shù)4-6字符串的切片切片通過起始索引、結(jié)束索引和步長等參數(shù)來獲取字符串的部分內(nèi)容。切片操作返回一個(gè)新的字符串對(duì)象。語法格式:string[start:end:step]參數(shù)說明:string:表示要截取的字符串start:表示要截取的第一個(gè)字符的索引(包括該字符),如果不指定,則默認(rèn)為0end:表示要截取的最后一個(gè)字符的索引(不包括該字符),如果不指定則默認(rèn)為字符串的長度。step:表示切片的步長,如果省略,則默認(rèn)為1,當(dāng)省略該步長時(shí),最后一個(gè)冒號(hào)也可以省略。4-6字符串的切片例題4-19對(duì)字符串“Helloworld”按照要求截取并輸出。str1="helloworld!"print(str1[1])#下標(biāo)從0開始,截取下標(biāo)為1的字符print(str1[2:])#下標(biāo)從2開始,截取到最后一個(gè)字符print(str1[:4])#從下標(biāo)0開始,截取到下標(biāo)為3的字符print(str1[1:5])#從下標(biāo)1開始,截取到下標(biāo)為4的字符print(str1[-1])#截取最后一個(gè)字符print(str1[1:5:2])#從下標(biāo)1開始,按步長2截取到下標(biāo)為4的字符執(zhí)行結(jié)果:elloworld!hellello!el4-6字符串的切片例題4-20將字符串"HelloWorld!"中的每個(gè)單詞進(jìn)行反轉(zhuǎn)并用空格分隔開。string="HelloWorld!"reversed_words=''.join(word[::-1]forwordinstring.split())print(reversed_words)執(zhí)行結(jié)果:olleH!dlroW目

錄4-1字符串簡(jiǎn)介4-2字符串的輸入輸出4-3字符串的運(yùn)算4-5項(xiàng)目實(shí)現(xiàn)4-6字符串的切片4-4字符串常用函數(shù)4-7字符串其他函數(shù)4-7字符串其他函數(shù)字符串函數(shù)的基本用法可以分為性質(zhì)判定、查找與替換、分切與連接、變形、刪減與填充。前面已經(jīng)介紹了常用的字符串函數(shù),這里全面介紹一下字符串的其他函數(shù)。性質(zhì)判定查找與替換分切與連接變形刪減與填充4-7字符串其他函數(shù)1.字符串性質(zhì)判定函數(shù)方法名功能描述isalnum()是否全是字母和數(shù)字,并至少有一個(gè)字符isalpha()是否全是字母,并至少有一個(gè)字符isdigit()是否全是數(shù)字,并至少有一個(gè)字符islower()字符串中字母是否全是小寫isupper()字符串中字母是否全是大寫isspace()是否全是空白字符,并至少有一個(gè)字符istitle()判斷字符串是否每個(gè)單詞都有且只有第一個(gè)字母是大寫startswith(prefix[,start[,end]])用于檢查字符串是否是以指定子字符串prefix開頭,如果是則返回True,否則返回False。如果參數(shù)start和end指定值,則在指定范圍內(nèi)檢查。endswith(suffix[,start[,end]])用于判斷字符串是否以指定后綴suffix結(jié)尾,如果以指定后綴結(jié)尾返回True,否則返回False??蛇x參數(shù)"start"與"end"為檢索字符串的開始與結(jié)束位置。isidentifier()用于檢查字符串是否是一個(gè)合法的Python標(biāo)識(shí)符。isnumeric()用于檢查字符串是否只包含數(shù)字字符isprintable()用于檢查字符串是否只包含可打印字符4-7字符串其他函數(shù)例題4-21在處理用戶輸入或從外部源獲取的數(shù)據(jù)時(shí),可以使用字符串性質(zhì)判定函數(shù)來驗(yàn)證數(shù)據(jù)的有效性。n=1whilen==1:s=input("輸入一個(gè)字符串:")ifs.isalnum():print("僅由字母和數(shù)字組成")ifs.isalpha():print("僅由字母組成")ifs.isdigit():print("僅由數(shù)字組成")ifs.islower():print("字符串中的所有字母都是小寫")ifs.isupper():print("字符串中的所有字母都是大寫")ifs.isspace():print("只包含空白字符")ifs.startswith("hello"):print("字符串以'hello'開頭")ifs.endswith("world"):print("字符串以'world'結(jié)尾")n=input("是否繼續(xù)輸入(1/0):")4-7字符串其他函數(shù)

2.字符串查找與替換函數(shù)方法名功能描述rfind(sub[,start[,end]])類似于find()函數(shù),不過是從右邊開始查找。rindex(sub[,start[,end]])類似于index(),不過是從右邊開始。例題4-22處理文件時(shí)使用rfind()和rindex()方法,從右向左查找特定的目錄或文件名,并進(jìn)行相應(yīng)的處理。#使用rfind()方法獲取文件擴(kuò)展名file_path="/path/to/file.txt"last_dot_index=file_path.rfind(".")extension=file_path[last_dot_index+1:]print("文件擴(kuò)展名為:",extension)4-7字符串其他函數(shù)

2.字符串查找與替換函數(shù)#使用rindex()方法提取路徑中的某個(gè)目錄file_path="/path/to/directory/file.txt"last_slash_index=file_path.rindex("/")directory=file_path[:last_slash_index]print("路徑中的某個(gè)目錄為:",directory)執(zhí)行結(jié)果:文件擴(kuò)展名為:txt路徑中的某個(gè)目錄為:/path/to/directory4-7字符串其他函數(shù)

3.字符串分切與連接方法名功能描述partition(sep)用來根據(jù)指定的分隔符將字符串進(jìn)行分割,如果字符串包含指定的分隔符,則返回一個(gè)3元的元組,第一個(gè)為分隔符左邊的子串,第二個(gè)為分隔符本身,第三個(gè)為分隔符右邊的子串。如果sep沒有出現(xiàn)在字符串中,則返回值為(sep,",")rpartition(sep)類似于partition()函數(shù),不過是從右邊開始查找.splitness([keepends])按照行('\r','\r\n',\n')分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù)keepends為False,不包含換行符,如果為True,則保留換行符。split(sep[,maxsplit]])通過指定分隔符對(duì)字符串進(jìn)行切片,如果參數(shù)maxsplit有指定值,則僅分隔maxsplit個(gè)子字符串,返回分割后的字符串列表。rsplit(sep[,maxsplit]])同split(),不過是從右邊開始。join()將列表或元組眾多的字符串合并成一個(gè)字符串4-7字符串其他函數(shù)例題4-23假設(shè)我們有一個(gè)包含多個(gè)單詞的句子,需要將其分切成單詞列表,然后對(duì)每個(gè)單詞進(jìn)行處理(例如轉(zhuǎn)換為大寫),最后再將處理后的單詞列表連接成一個(gè)新的句子。sentence="Thisisasamplesentence."words=sentence.split("")#使用split函數(shù)以空格為分割符號(hào)進(jìn)行分割processed_words=[word.upper()forwordinwords]new_sentence="".join(processed_words)#使用join函數(shù)連接單詞用空格分開print(new_sentence)結(jié)果輸出:"THISISASAMPLESENTENCE."4-7字符串其他函數(shù)4.字符串變形方法名功能描述capitalize()將字符串的第一個(gè)字母變成大寫,其他字母變小寫。對(duì)于8位字節(jié)編碼需要根據(jù)本地環(huán)境。swapcase()用于對(duì)字符串的大小寫字母進(jìn)行轉(zhuǎn)換,大寫轉(zhuǎn)小寫,小寫轉(zhuǎn)大寫。title()返回"標(biāo)題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫。4-7字符串其他函數(shù)例題4-24字符串變形函數(shù)的綜合應(yīng)用。#定義一個(gè)字符串s="hello,world!"#使用capitalize()函數(shù)將首字母大寫,其他字母小寫print(s.capitalize())#輸出:"Hello,world!"#使用title()函數(shù)將每個(gè)單詞的首字母大寫,其他字母小寫print(s.title())#輸出:"Hello,World!"#使用swapcase()函數(shù)將所有字母的大小寫互換print(s.swapcase())#輸出:"HELLO,WORLD!"4-7字符串其他函數(shù)5.字符串填充與刪減函數(shù)方法名功能描述strip([chars])用于移除字符串頭尾指定的字符(默認(rèn)為空格),如果有多個(gè)就會(huì)刪除多個(gè)。lstrip([chars])用于截掉字符串左邊的空格或指定字符。rstrip([chars])用于截掉字符串右邊的空格或指定字符。center(width[,fillchar])返回一個(gè)原字符串居中,并使用fillchar填充至長度width的新字符串。默認(rèn)填充字符為空格。如果指定的長度小于原字符串的長度則返回原字符串。ljust(width[,fillchar])返回一個(gè)原字符串左對(duì)齊,并使用fillchar填充至指定長度的新字符串,默認(rèn)為空格。如果指定的長度小于原字符串的長度則返回原字符串。rjust(width[,fillchar])返回一個(gè)原字符串右對(duì)齊,并使用fillchar填充至長度width的新字符串,默認(rèn)為空格。如果指定的長度小于字符串的長度則返回原字符串。zfill(width)返回指定長度的字符串,原字符串右對(duì)齊,前面填充0下把字符串中的tab符號(hào)('\t')轉(zhuǎn)為適當(dāng)數(shù)量的空格,默認(rèn)情況下是轉(zhuǎn)換為8個(gè)。encode()用于將字符串編碼為指定的編碼格式。expandtabs()用于將字符串中的制表符\t轉(zhuǎn)換為空格,根據(jù)指定的制表位數(shù)進(jìn)行對(duì)齊。4-7字符串其他函數(shù)例題4-25去掉字符串中空格。str1="Hello"new_str=str1.strip()#去掉兩端空格print(new_str)#"Hello"new_str=str1.lstrip()#去掉左側(cè)空格print(new_str)#"Hello"new_str=str1.rst

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論