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

下載本文檔

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

文檔簡介

第4講字符串字符串介紹格式化字符串字符串常見操作流程控制語句知識(shí)回顧作業(yè)解析課堂筆記學(xué)習(xí)目標(biāo)本講要點(diǎn)4.1字符串介紹思考:什么是字符串?4.1字符串介紹用戶登錄系統(tǒng)驗(yàn)證用戶登錄信息時(shí),登錄信息是如何驗(yàn)證的?什么是字符串4.1字符串介紹字符串是一種用來表示文本的數(shù)據(jù)類型,它是由符號(hào)或者數(shù)值組成的一個(gè)連續(xù)序列。'a'、'123'使用單引號(hào)使用雙引號(hào)"a"、"123"使用三引號(hào)"""Hello"""Python支持使用單引號(hào)、雙引號(hào)和三引號(hào)定義字符串,其中單引號(hào)和雙引號(hào)通常用于定義單行字符串,三引號(hào)通常用于定義多行字符串。4.1字符串介紹Python使用反斜杠“\”轉(zhuǎn)義。例如,在字符串中的引號(hào)前添加“\”,此時(shí)Python解釋器會(huì)將“\”之后的引號(hào)視為解釋為一個(gè)普通字符,而非特殊符號(hào)。print('let\'slearnPython')示例let'slearnPython結(jié)果4.1字符串介紹一些普通字符與反斜杠組合后將失去原有意義,產(chǎn)生新的含義。類似這樣的由“\”和普通字符組合而成的具有特殊意義的字符就是轉(zhuǎn)義字符。轉(zhuǎn)義字符通常用于表示一些無法顯示的字符,例如空格、回車等等。多學(xué)一招:轉(zhuǎn)義字符轉(zhuǎn)義字符代表含義\(在行尾時(shí))反斜杠符號(hào)\\反斜杠符號(hào)\"

雙引號(hào)\n換行\(zhòng)b

退格\t橫向制表符多學(xué)一招:轉(zhuǎn)義字符4.2格式化字符串字符串的輸出比如有以下代碼:print(“我今年10歲”)print(“我今年11歲”)print("我今年12歲")...可以通過字符串格式化來完成。大家試想一下,上述代碼多次輸出"我今年xx歲",是否有一種簡化程序的方式呢?字符串的輸出name="小明"age=12print("大家好,我叫%s,今年%d歲"%(name,age))下面是字符串的格式化輸出格式化字符串是指將指定的字符串轉(zhuǎn)換為想要的格式。Python字符串可通過%格式符格式化輸出。format%values格式字符串真實(shí)數(shù)據(jù)4.2.1使用%格式化字符串不同的占位符為不同類型的變量預(yù)留位置,常見的占位符如下所示。4.2.1使用%格式化字符串常見的格式化符號(hào)格式化符號(hào)轉(zhuǎn)換%s

、%3s、%-3s通過str()字符串轉(zhuǎn)換來格式化%d

、%4d、%-4d有符號(hào)十進(jìn)制整數(shù)%f

、%8.2f、%-3.1f浮點(diǎn)實(shí)數(shù)數(shù)字——占位數(shù),負(fù)號(hào)"-"表示左對(duì)齊,默認(rèn)為右對(duì)齊小數(shù)——小數(shù)點(diǎn)前是占位數(shù),小數(shù)點(diǎn)后為小數(shù)位數(shù)4.2.1使用%格式化字符串使用%對(duì)字符串進(jìn)行格式化的方式不直觀,一旦開發(fā)人員遺漏了替換數(shù)據(jù)或選擇了不匹配的格式符,就會(huì)導(dǎo)致字符串格式化失敗。為了能更直觀、便捷地格式化字符串,Python為字符串提供了一個(gè)格式化方法format()。str.format(values)格式字符串真實(shí)數(shù)據(jù)4.2.2使用format()方法格式化字符串str表示需要被格式化的字符串,字符串中包含單個(gè)或多個(gè)為真實(shí)數(shù)據(jù)占位的符號(hào){};values表示單個(gè)或多個(gè)待替換的真實(shí)數(shù)據(jù),多個(gè)數(shù)據(jù)之間以逗號(hào)分隔。4.2.2使用format()方法格式化字符串4.2.2使用format()方法格式化字符串format函數(shù)可以接受不限個(gè)參數(shù),位置可以不按順序。>>>"{}{}".format("hello","world")#不設(shè)置指定位置,按默認(rèn)順序'helloworld'>>>"{0}{1}".format("hello","world")#設(shè)置指定位置'helloworld'>>>"{1}{0}{1}".format("hello","world")#設(shè)置指定位置,三個(gè)占位符,2個(gè)實(shí)際參數(shù)'worldhelloworld'數(shù)字格式化本表展示了str.format()格式化數(shù)字的多種方法print("{:.2f}".format(3.1415926))f-string提供了一種更為簡潔的格式化字符串的方式,它在形式上以f或F引領(lǐng)字符串,在字符串中使用“{變量名}”標(biāo)明被替換的真實(shí)數(shù)據(jù)和其所在位置。f('{變量名}')或F('{變量名}')格式4.2.3使用f-string格式化字符串a(chǎn)ge=20gender='男'print(f'年齡:{age},性別:{gender}')4.3精彩實(shí)例十進(jìn)制是實(shí)際應(yīng)用中最常使用的計(jì)數(shù)方式,除此之外,還可以采用二進(jìn)制、八進(jìn)制或十六進(jìn)制計(jì)數(shù)。本實(shí)例要求編寫代碼,實(shí)現(xiàn)將用戶輸入的十進(jìn)制整數(shù)轉(zhuǎn)換為指定進(jìn)制的功能。4.3.1進(jìn)制轉(zhuǎn)換x=56

print(f"{x}的二進(jìn)制是{bin(x)}")#f格式化

print("%d的八進(jìn)制是%o"%(x,x))#%s格式化

print("{}的十六進(jìn)制是{}".format(x,hex(x)))#format格式化4.3.1進(jìn)制轉(zhuǎn)換進(jìn)度條一般以圖形的方式顯示已完成任務(wù)量和未完成任務(wù)量,并以動(dòng)態(tài)文字的方式顯示任務(wù)的完成度。本實(shí)例要求編寫程序,實(shí)現(xiàn)如圖所示的文本進(jìn)度條。4.3.2文本進(jìn)度條背景知識(shí)——字符串的運(yùn)算符下表實(shí)例變量a值為字符串"Hello",b變量值為"Python":4.3.2文本進(jìn)度條操作符描述實(shí)例+字符串連接a+b

結(jié)果:'HelloPython'*重復(fù)輸出字符串a(chǎn)*2

結(jié)果:'HelloHello'[]通過索引獲取字符串中字符,索引從0開始a[1]

結(jié)果:'e'[:]截取字符串中的一部分a[1:4]

結(jié)果:'ell'in成員運(yùn)算符-如果字符串中包含給定的字符返回True"H"ina

結(jié)果:Truenotin成員運(yùn)算符-如果字符串中不包含給定的字符返回True"M"notina

結(jié)果:Truer/R原始字符串-原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。原始字符串除在字符串的第一個(gè)引號(hào)前加上字母"r"(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。printr'\n'

結(jié)果:\n

printR'\n'

結(jié)果:\n背景知識(shí)——怎么讓程序睡一會(huì)兒?time庫的sleep(t)函數(shù),t——睡眠的秒數(shù)importtimetime.sleep(0.5)4.3.2文本進(jìn)度條4.3.2文本進(jìn)度條importtime

incomplete_sign=50#.的數(shù)量

print('='*23+'開始下載'+'='*25)

foriinrange(incomplete_sign+1):

completed="*"*i#表示已完成

incomplete="."*(incomplete_sign-i)#表示未完成

percentage=(i/incomplete_sign)*100#百分比

print("\r{:.0f}%[{}{}]".format(percentage,completed,incomplete),end="")

time.sleep(0.5)

print("\n"+'='*23+'下載完成'+'='*25)\r—退格鍵,回到行首,{:.0f}—輸出0位小數(shù)4.4字符串的常見操作要點(diǎn)字符串的存儲(chǔ)方式字符串中的每個(gè)字符都對(duì)應(yīng)一個(gè)下標(biāo),下標(biāo)編號(hào)是從0開始的。4.4字符串的常見操作補(bǔ)充知識(shí):切片切片的語法格式如下所示:切片選取的區(qū)間屬于左閉右開型,即從"起始"位開始,到"結(jié)束"位的前一位結(jié)束(不包含結(jié)束位本身)[起始:結(jié)束:步長]4.4字符串的常見操作格式:

[start:stop:step]

截取子串假設(shè)有字符串name=“abcdef”,則:name[0:3]name[3:5]name[1:-1]name[2:])name[::-2]abcdebcdecdeffdb4.4字符串的常見操作start為負(fù)數(shù),則從右端某一位置,開始向后截取stop為負(fù)數(shù),則從右端某一位置,結(jié)束step為負(fù)數(shù),則從右端向左提取元素使用切片4.4字符串的常見操作str='富強(qiáng)民主文明和諧,自由平等公正法治,愛國敬業(yè)誠信友善'

print(str[5:0:-1])截取子串使用切片4.4字符串的常見操作/python/python-strings.html——網(wǎng)絡(luò)學(xué)習(xí)資源Python內(nèi)置了很多字符串方法(其中:format()用于格式化字符串,find()用于查找子串),也叫內(nèi)建函數(shù)??奢p松實(shí)現(xiàn)字符串查找、替換、拼接、大小寫轉(zhuǎn)換等。字符串一旦創(chuàng)建不可修改,修改會(huì)變成新的字符串。find()方法:該方法可查找字符串中是否包含子串,若包含則返回子串首次出現(xiàn)的位置,否則返回-1。str.find(sub[,start[,end]])格式sub:指定要查找的子串。start:開始索引,默認(rèn)為0。end:結(jié)束索引,默認(rèn)為字符串的長度。word='t'string='Python'result=string.find(word)print(result)示例2結(jié)果4.4.1字符串的查找與替換replace()方法:將當(dāng)前字符串中的指定子串替換成新的子串,并返回替換后的新字符串。str.replace(old,new[,count])格式old:被替換的舊子串。new:替換舊子串的新子串。count:表示替換舊字符串的次數(shù),默認(rèn)全部替換。string='Hesaid,"youhavetogoforward,'\'Thenturnleft,Thengoforward,andThenturnright."'#指定替換兩次new_string=string.replace("Then","then",2)print(new_string)示例Hesaid,"youhavetogoforward,thenturnleft,

thengoforward,andThenturnright."結(jié)果4.4.1字符串的查找與替換split()方法:按照指定分隔符對(duì)字符串進(jìn)行分割,返回由分割后的子串組成的列表。str.split(sep=None,maxsplit=-1)格式sep:分隔符,默認(rèn)為空字符。maxsplit:分割次數(shù),默認(rèn)值為-1,

表示不限制分割次數(shù)。string="Hello,mynameisWangHong"#以空格作為分割符,并分割2次print(string.split('',2))示例['Hello,','my','nameisWangHong']結(jié)果4.4.2字符串的分隔與拼接join()方法:使用將字符加入到指定字符串的中間并生成一個(gè)新的字符串。str.join(iterable)格式symbol='*'world='Python'print(symbol.join(world))示例P*y*t*h*o*n結(jié)果4.4.2字符串的分隔與拼接—加入iterable--原始“母”串,str--被加入的字符串Python還可以使用運(yùn)算符“+”拼接字符串?!癙y”“thon”+“Python”4.4.2字符串的分隔與拼接刪除首尾空格:Python中的strip()、lstrip()和rstrip()方法可以刪除字符串中的指定字符。4.4.3刪除字符串的指定字符刪除首尾指定字符,常用于刪除空格4.4.3刪除字符串的指定字符old_string='Lifeisshort,UsePython!'strip_str=old_string.strip()#刪除字符串頭尾的空格lstrip_str=old_string.lstrip()#刪除字符串頭部的空格rstrip=old_string.rstrip()#刪除字符串尾部的空格print(f'strip方法:{strip_str}')print(f'lstrip方法:{lstrip_str}')print(f'rstrip方法:{rstrip}')在特定情況下會(huì)對(duì)英文單詞的大小寫形式進(jìn)行要求,表示特殊簡稱時(shí)全字母大寫,如CBA;表示月份、周日、節(jié)假日時(shí)每個(gè)單詞首字母大寫,如Monday。Python中支持字母大小寫轉(zhuǎn)換的方法有upper()、lower()、capitalize()和title()。4.4.4 字符串大小寫轉(zhuǎn)換4.4.4 字符串大小寫轉(zhuǎn)換old_string='hellowoRld'upper_str=old_string.upper()#字符串的字母轉(zhuǎn)換為大寫字母lower_str=old_string.lower()#字符串的字母轉(zhuǎn)換為小寫字母cap_str=old_string.capitalize()#字符串的首字母轉(zhuǎn)換為大寫字母title_str=old_string.title()#每個(gè)單詞的首字母轉(zhuǎn)換為大寫字母print(f'upper方法:{upper_str}')print(f'lower方法:{lower_str}')print(f'capitalize方法:{cap_str}')print(f'title方法:{title_str}')在使用Word處理文檔時(shí)可能需要對(duì)文檔的格式進(jìn)行調(diào)整,如標(biāo)題居中顯示、左對(duì)齊、右對(duì)齊等。Python提供了center()、ljust()、rjust()這3個(gè)方法來設(shè)置字符串的對(duì)齊方式。4.4.5字符串對(duì)齊4.4.5字符串對(duì)齊sentence='helloworld'center_str=sentence.center(13,'-')#長度為13,居中顯示,使用-補(bǔ)齊ljust_str=sentence.ljust(13,'*')#長度為13,左對(duì)齊,使用*補(bǔ)齊rjust_st=sentence.rjust(13,'%')#長度為13,右對(duì)齊,使用%補(bǔ)齊print(f"居中顯示:{center_str}")print(f"左對(duì)齊顯示:{ljust_str}")print(f"右對(duì)齊顯示:{rjust_st}")4.5精彩實(shí)例2006年4月19日,中國互聯(lián)

溫馨提示

  • 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)論