Python程序設(shè)計(jì)基礎(chǔ)與實(shí)戰(zhàn)課件_第1頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)與實(shí)戰(zhàn)課件_第2頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)與實(shí)戰(zhàn)課件_第3頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)與實(shí)戰(zhàn)課件_第4頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)與實(shí)戰(zhàn)課件_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章基本數(shù)據(jù)類型數(shù)字類型數(shù)字類型的操作實(shí)戰(zhàn)2:積跬步以致千里字符串類型及其操作常用的字符串方法實(shí)戰(zhàn)3:《紅樓夢(mèng)》詞頻統(tǒng)計(jì)掌握數(shù)字類型的使用及運(yùn)算方法掌握字符串類型的定義方式掌握字符串的常用操作熟悉常用的字符串方法3.1數(shù)字類型整型浮點(diǎn)型復(fù)數(shù)型布爾型3.1數(shù)字類型數(shù)字類型是指表示數(shù)字或者數(shù)值的數(shù)據(jù)類型。在Python中,數(shù)字類型有整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)型(complex),對(duì)應(yīng)數(shù)學(xué)中的整數(shù)、小數(shù)和復(fù)數(shù),此外還有一種特殊的整型,即布爾類型(bool)。3.1數(shù)字類型3.1.1整型整型存儲(chǔ)的數(shù)據(jù)為整數(shù),按照進(jìn)制劃分可以分為二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制,默認(rèn)采用十進(jìn)制表示。十進(jìn)制比較常用,在此不贅述。二進(jìn)制整數(shù)只有0和1兩個(gè)基數(shù),進(jìn)位規(guī)則是“逢二進(jìn)一”,在Python中用二進(jìn)制表示整數(shù)需要在數(shù)字前加上0b或者0B。八進(jìn)制整數(shù)由0~7組成,進(jìn)位規(guī)則是“逢八進(jìn)一”,在Python中用八進(jìn)制表示整數(shù)需要在數(shù)字前加上0o或者0O。十六進(jìn)制整數(shù)由0~9和A~F組成,進(jìn)位規(guī)則是“逢十六進(jìn)一”,在Python中用十六進(jìn)制表示整數(shù)需要在數(shù)字前加上0x或者0X。3.1數(shù)字類型3.1.1整型用不同的進(jìn)制表示整數(shù)18。a=0b10010#二進(jìn)制print("a的結(jié)果為:",a)b=0o22#八進(jìn)制print("b的結(jié)果為:",b)c=18#十進(jìn)制print("c的結(jié)果為:",c)d=0x12#十六進(jìn)制print("d的結(jié)果為:",d)a的結(jié)果為:18b的結(jié)果為:18c的結(jié)果為:18d的結(jié)果為:183.1數(shù)字類型3.1.2浮點(diǎn)型浮點(diǎn)型表示存儲(chǔ)的數(shù)據(jù)是實(shí)數(shù),帶有小數(shù)的數(shù)值。在Python中,浮點(diǎn)數(shù)必須有小數(shù)部分,小數(shù)部分可以為0。f1=3.14#十進(jìn)制格式f2=3.14e-2#科學(xué)計(jì)數(shù)格式,等價(jià)于0.0314f3=3.14e4#科學(xué)計(jì)數(shù)格式,等價(jià)于31400.0浮點(diǎn)型數(shù)據(jù)默認(rèn)有兩種書寫格式,分別為十進(jìn)制和科學(xué)計(jì)數(shù)格式。在科學(xué)計(jì)數(shù)格式中,E或e代表基數(shù)是10,其后的數(shù)字代表指數(shù)。3.1數(shù)字類型3.1.2浮點(diǎn)型Python中的浮點(diǎn)型的取值范圍大約為-1.8e308~1.8e308,超出這個(gè)范圍,Python會(huì)將其視為無窮大(inf)或者無窮?。?inf)。print(5e309) #打印結(jié)果為infprint(-5e309) #打印結(jié)果為-inf3.1數(shù)字類型3.1.2浮點(diǎn)型浮點(diǎn)型最長(zhǎng)可輸出16個(gè)數(shù)字,當(dāng)浮點(diǎn)數(shù)進(jìn)行運(yùn)算后,最長(zhǎng)可輸出17個(gè)數(shù)字。然而,計(jì)算機(jī)系統(tǒng)只能提供15個(gè)數(shù)字的準(zhǔn)確性,最后一位由計(jì)算機(jī)系統(tǒng)根據(jù)二進(jìn)制計(jì)算結(jié)果確定,存在一定誤差。print(3.234567890234567833)#打印19位數(shù)字a=1.81384525132758718312#25位數(shù)字b=4.37946128936817912375#25位數(shù)字print("a乘b的結(jié)果為:",a*b)#計(jì)算a乘b的結(jié)果3.234567890234568a乘b的結(jié)果為:7.943665063093464importmathprint(math.pi)3.141592653589793打印π值(math模塊中的math.pi)打印19位數(shù)字時(shí),輸出結(jié)果為16位數(shù)字,第16位數(shù)字與原輸入并不相同。兩個(gè)25位浮點(diǎn)數(shù)相乘,結(jié)果只有16位數(shù)字。3.1數(shù)字類型3.1.3復(fù)數(shù)型復(fù)數(shù)由實(shí)部和虛部構(gòu)成,形如3+2j,其中3是實(shí)部,2j是虛部,虛部由一個(gè)實(shí)數(shù)與j或J組合而成。a=3.2+1.1jprint(a.real)#打印復(fù)數(shù)的實(shí)部print(a.imag)#打印復(fù)數(shù)的虛部3.1數(shù)字類型3.1.3復(fù)數(shù)型定義復(fù)數(shù)除了使用直接賦值的方式,還可以通過內(nèi)置函數(shù)complex(real,imag)傳入實(shí)部和虛部的方式,如果沒有傳入虛部,則虛部默認(rèn)為0j。print("a乘b的結(jié)果為:",a*b)#計(jì)算a乘b的結(jié)果a=complex(2,3)#傳入實(shí)部2,虛部3print(a)b=complex(5)#傳入實(shí)部5,沒有傳入虛部print(b)(2+3j)(5+0j)3.1數(shù)字類型3.1.4布爾型布爾型是一種比較特殊的整型,主要用來表示真或假,它只有True和False兩種值,分別對(duì)應(yīng)1和0。NoneFalse(布爾型)0(整型0)0.0(浮點(diǎn)型0)0.0+0.0j(復(fù)數(shù)型0)""(空字符串)[](空列表)()(空元組)[](空字典)在Python中,任何對(duì)象都具有布爾屬性,一般元素的布爾值都是True,有這些情況布爾值是False。3.2數(shù)字類型的操作數(shù)字運(yùn)算符數(shù)字類型轉(zhuǎn)換3.2數(shù)字類型的操作3.2.1數(shù)字運(yùn)算符數(shù)字運(yùn)算符是一些特殊的符號(hào),主要用于數(shù)字之間的運(yùn)算。根據(jù)功能可以將數(shù)字運(yùn)算符分為:算術(shù)運(yùn)算符賦值運(yùn)算符3.2數(shù)字類型的操作3.2.1數(shù)字運(yùn)算符-算術(shù)運(yùn)算符Python中的算術(shù)運(yùn)算符有“+”、“-”、“*”、“/”、“%”、“**”和“//”,這些都是雙目運(yùn)算符,對(duì)兩個(gè)數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算。運(yùn)算符說明形式結(jié)果+加:兩個(gè)數(shù)據(jù)相加求和a+b7-減:兩個(gè)數(shù)據(jù)相減求差a-b3*乘:兩個(gè)數(shù)據(jù)相乘求積a*b10/除法:兩個(gè)數(shù)據(jù)相除求商a/b2.5%取余:兩個(gè)數(shù)據(jù)相除求余數(shù)a%b1**冪:兩個(gè)數(shù)據(jù)進(jìn)行冪運(yùn)算,獲得a的b次方a**b25//取整除:兩個(gè)數(shù)據(jù)相除,獲得商的整數(shù)部分a//b2以操作數(shù)a=5,b=2為例3.2數(shù)字類型的操作3.2.1數(shù)字運(yùn)算符-算術(shù)運(yùn)算符張三下課回家,看到商場(chǎng)大甩賣,他想知道商品折扣后的價(jià)格為多少?#輸入商品的價(jià)格和折扣,并轉(zhuǎn)為浮點(diǎn)型price=float(input("商品原來的價(jià)格是:"))discount=float(input("此商品的折扣為(輸入小數(shù)):"))#求得商品折扣后的價(jià)格,運(yùn)用算術(shù)運(yùn)算符*current_price=price*discountprint("商品現(xiàn)在的價(jià)格為:",current_price)商品原來的價(jià)格是:100此商品的折扣為(輸入小數(shù)):0.8商品現(xiàn)在的價(jià)格為:80.03.2數(shù)字類型的操作3.2.1數(shù)字運(yùn)算符-賦值運(yùn)算符賦值運(yùn)算符的作用是將基本賦值運(yùn)算符“=”右邊的值賦值給左邊的變量,也可以進(jìn)行某些運(yùn)算后再賦值給左邊的變量。num=5 square_num=num**2 #求num的平方,square_num的值為25study=eat="important"study="important"eat="important"等價(jià)于為多個(gè)變量賦相同的值a,b,c,d=13,3.14,1+2j,True為多個(gè)變量賦不同的值3.2數(shù)字類型的操作3.2.1數(shù)字運(yùn)算符-賦值運(yùn)算符Python中的算術(shù)運(yùn)算符可以與“=”組成符合賦值運(yùn)算符,包括“+=”、“-=”、“*=”、“/=”、“%=”、“**=”和“//=”。運(yùn)算符說明形式結(jié)果+=加等于:左值加右值的和賦給左值a+=b等價(jià)于a=a+b7-=減等于:左值減右值的差賦給左值a-=b等價(jià)于a=a-b3*=乘等于:左值乘右值的積賦給左值a*=b等價(jià)于a=a*b10/=除等于:左值除以右值的商賦給左值a/=b等價(jià)于a=a/b2.5%=余等于:左值除以右值的余數(shù)賦給左值a%=b等價(jià)于a=a%b1**=冪等于:左值的右值次方賦給左值a**=b等價(jià)于a=a**b25//=取整等于:左值除以右值的商的整數(shù)部分賦給左值a//=b等價(jià)于a=a//b2說明:“結(jié)果”這一列僅表示a的值,b值無變化以操作數(shù)a=5,b=2為例3.2數(shù)字類型的操作3.2.2數(shù)字類型轉(zhuǎn)換數(shù)字類型轉(zhuǎn)換即為數(shù)字從一種類型轉(zhuǎn)換為另一種類型,Python中內(nèi)置了一系列可以強(qiáng)制類型轉(zhuǎn)換的函數(shù),將數(shù)字轉(zhuǎn)換為指定類型。數(shù)字類型轉(zhuǎn)換的函數(shù)包括:int()、floar()、complex()、bool()等。函數(shù)說明int(x[,base=10])將浮點(diǎn)型、布爾型以及符合數(shù)值類型規(guī)范的字符串轉(zhuǎn)換為整型,其中base代表進(jìn)制float(x)將整型和符合數(shù)值類型規(guī)范的字符串轉(zhuǎn)換為浮點(diǎn)型complex(real[,imag])將實(shí)數(shù)通過實(shí)部和虛部組合為復(fù)數(shù)類型,或?qū)⒎蠑?shù)值類型的字符串轉(zhuǎn)換為復(fù)數(shù)類型bool(x)將任意類型轉(zhuǎn)換為布爾類型3.2數(shù)字類型的操作3.2.2數(shù)字類型轉(zhuǎn)換計(jì)算任意兩個(gè)數(shù)的加和num1=input("請(qǐng)輸入第一個(gè)數(shù):")

#輸入符合數(shù)值類型的字符串num2=input("請(qǐng)輸入第二個(gè)數(shù):")print(float(num1)+float(num2))

#將數(shù)值類型的字符串轉(zhuǎn)化為浮點(diǎn)數(shù)請(qǐng)輸入第一個(gè)數(shù):12.2請(qǐng)輸入第二個(gè)數(shù):2.314.53.3實(shí)戰(zhàn)2:積跬步以致千里3.3實(shí)戰(zhàn)2:積跬步以致千里積跬步以致千里,積怠惰以致深淵按照一年365天進(jìn)行計(jì)算,假設(shè)第一天的知識(shí)儲(chǔ)備為1.0,每日進(jìn)行學(xué)習(xí)積累的情況下,知識(shí)儲(chǔ)備相比前一天增加1%,每日不進(jìn)行學(xué)習(xí)時(shí)會(huì)遺忘知識(shí),知識(shí)儲(chǔ)備比前一天下降1%。進(jìn)行365天的學(xué)習(xí)積累后,知識(shí)儲(chǔ)備會(huì)增加為;365天都放任自己怠惰后,知識(shí)儲(chǔ)備會(huì)減少為。importmathaction=math.pow((1+0.01),365)#學(xué)習(xí)積累365天inaction=math.pow((1-0.01),365)#放任怠惰365天print("學(xué)習(xí)積累后:"+str(action)+",消極怠惰后:"+str(inaction))學(xué)習(xí)積累后:37.78343433288728,消極怠惰后:0.025517964452291125計(jì)算365天進(jìn)行學(xué)習(xí)積累與放任怠惰后的知識(shí)儲(chǔ)備3.3實(shí)戰(zhàn)2:積跬步以致千里三天打魚兩天曬網(wǎng)的情況如果沒有持之以恒的積累學(xué)習(xí),就有可能出現(xiàn)“三天打魚,兩天曬網(wǎng)”的情況。在這種情況下,按照一年365天計(jì)算,假設(shè)第一天的知識(shí)儲(chǔ)備為1.0,每五天的前三天進(jìn)步,后兩天退步,365天中共365/5個(gè)5天。importmathaction=math.pow((1+0.01),3)#三天打魚inaction=math.pow((1-0.01),2)#兩天曬網(wǎng)#五天后知識(shí)儲(chǔ)備變化為action*inaction,共365/5個(gè)五天result=math.pow((action*inaction),(365/5))print("一年后知識(shí)儲(chǔ)備變?yōu)椋?,result)一年后知識(shí)儲(chǔ)備變?yōu)椋?.037601584335477“三天打魚,兩天曬網(wǎng)”情況下,一年后的知識(shí)儲(chǔ)備3.4字符串類型及其操作字符串的定義方式字符串格式化神奇的f字符串字符串的索引與切片字符串的拼接與重復(fù)字符串的成員歸屬3.4字符串類型及其操作字符串類型存儲(chǔ)的數(shù)據(jù)是字符串,字符串是一組由字符構(gòu)成的序列。Python中的字符串是不可變的,不支持動(dòng)態(tài)修改。本節(jié)將對(duì)字符串進(jìn)行簡(jiǎn)單介紹,包括字符串的定義方式、格式化、索引、切片、拼接、重復(fù)和成員歸屬等。3.4字符串類型及其操作3.4.1字符串的定義方式-單行字符串單行字符串是由一對(duì)單引號(hào)或一對(duì)雙引號(hào)包含。"hello,1000phone"'hello,1000phone''Let'sgo'File"C:\1000phone\test.py",line1'Let'sgo'^SyntaxError:invalidsyntax在雙引號(hào)定義的字符串中可以含有單引號(hào),但是不能直接含有雙引號(hào),同理在單引號(hào)定義的字符串中也不能直接含有單引號(hào)。語(yǔ)法錯(cuò)誤導(dǎo)致SyntaxError異常3.4字符串類型及其操作3.4.1字符串的定義方式-單行字符串如果要解決這個(gè)問題,可以對(duì)字符串中的單引號(hào)、雙引號(hào)等特殊字符進(jìn)行轉(zhuǎn)義處理,即在特殊字符前面加上轉(zhuǎn)義字符“\”,此時(shí)解釋器不再將特殊字符視為字符串的語(yǔ)法標(biāo)志,而是將其與轉(zhuǎn)義字符視為一個(gè)整體。'Let\'sgo'Let'sgo3.4字符串類型及其操作3.4.1字符串的定義方式-單行字符串常用的轉(zhuǎn)義字符及其含義轉(zhuǎn)義字符說明\(在行尾時(shí))續(xù)行符\\反斜杠符\'單引號(hào)\"雙引號(hào)\n回車換行\(zhòng)t橫向制表符\b退格\r回車\f換頁(yè)\a響鈴3.4字符串類型及其操作3.4.1字符串的定義方式-單行字符串如果需要忽略字符串中的轉(zhuǎn)義字符,可以在字符串的前面添加r或者R。print('C:\Windows\tracing')#轉(zhuǎn)義字符起作用print(r'C:\Windows\tracing') #在字符串前加rC:\Windows racingC:\Windows\tracing“\t”構(gòu)成了一個(gè)轉(zhuǎn)義字符,在字符串前加r或R即可忽略到轉(zhuǎn)義字符的原有作用3.4字符串類型及其操作3.4.1字符串的定義方式-多行字符串多行字符串由一對(duì)三引號(hào)包含,可以是三單引號(hào)也可以是三雙引號(hào)。三引號(hào)中包含的所有字符都屬于字符串內(nèi)容,包括空格、換行等,三引號(hào)中可以包含單引號(hào)、雙引號(hào),無需轉(zhuǎn)義,所有字符均以原始形態(tài)打印出來,所見即所得。print(""""這是一個(gè)圣誕樹"*****************""")

"這是一個(gè)圣誕樹"*****************打印圣誕樹3.4字符串類型及其操作3.4.2字符串格式化-format()方法的基本用法字符串的格式化是指預(yù)先制定一個(gè)帶有空位的模板,然后根據(jù)需要對(duì)空位進(jìn)行填充。format()方法的基本語(yǔ)法格式如下。模板:

年的

學(xué)期我學(xué)習(xí)了

門課程模板字符串.format(參數(shù)列表)print("{}年{}學(xué)期我學(xué)習(xí)了{(lán)}門課程".format(2022,"上",20))2022年上學(xué)期我學(xué)習(xí)了20門課程3.4字符串類型及其操作3.4.2字符串格式化-format()方法的基本用法模板字符串中有一系列用“{}”表示的空位,format()方法可以將以逗號(hào)隔開的參數(shù)列表按照對(duì)應(yīng)關(guān)系替換到這些空位上。如果“{}”中沒有序號(hào),則按照出現(xiàn)的順序進(jìn)行替換。如果“{}”中指定了使用參數(shù)的順序,則會(huì)按照序號(hào)對(duì)參數(shù)進(jìn)行替換,參數(shù)從0開始編號(hào)3.4字符串類型及其操作3.4.2字符串格式化-format()方法的格式處理format()方法的模板字符串的空位中不僅可以填寫參數(shù)序號(hào),還有其他的格式處理形式。格式處理的內(nèi)容要按照以下順序使用。填充:填充單個(gè)字符,不指定時(shí)用空格填充。對(duì)齊:“<”為左對(duì)齊,“>”為右對(duì)齊,“^”為居中對(duì)齊。符號(hào):“+”表示在正數(shù)前加正號(hào),負(fù)數(shù)前加負(fù)號(hào);“-”表示正數(shù)不變,負(fù)數(shù)加負(fù)號(hào);空格表示正數(shù)加空格,負(fù)數(shù)加負(fù)號(hào)。寬度:指定空位所占寬度。分隔符:用逗號(hào)“,”分隔數(shù)字的千位,適用于整數(shù)和浮點(diǎn)數(shù)。精度:用“.precision”指定浮點(diǎn)數(shù)的精度或字符串輸出的最大長(zhǎng)度,例如“.5”。類型:用于指定類型。{參數(shù)序號(hào):格式處理內(nèi)容}3.4字符串類型及其操作3.4.2字符串格式化-format()方法的格式處理format()方法格式處理中的類型格式類型說明s對(duì)字符串類型格式化b將整數(shù)輸出為對(duì)應(yīng)的二進(jìn)制c將整數(shù)輸出為對(duì)應(yīng)的Unicode字符d將整數(shù)輸出為對(duì)應(yīng)的十進(jìn)制o將整數(shù)輸出為對(duì)應(yīng)的八進(jìn)制x或X將整數(shù)輸出為對(duì)應(yīng)的小寫或大寫的十六進(jìn)制e或E將浮點(diǎn)數(shù)輸出為e或E的指數(shù)形式f將浮點(diǎn)數(shù)標(biāo)準(zhǔn)輸出%輸出浮點(diǎn)數(shù)的百分比形式3.4字符串類型及其操作3.4.2字符串格式化-format()方法的格式處理填充、對(duì)齊與寬度格式處理格式化打印學(xué)生信息,包括姓名和學(xué)號(hào)name="張三"studentId="202201"#用-占位,寬度為10,姓名和學(xué)號(hào)居中print("我叫{0:-^10},學(xué)號(hào)為{1:-^10}".format(name,studentId))我叫----張三----,學(xué)號(hào)為--202201--3.4字符串類型及其操作3.4.2字符串格式化-format()方法的格式處理分隔符、精度與類型格式處理格式化打印運(yùn)動(dòng)時(shí)長(zhǎng)和消耗卡路里exercise=300calories=3120.123638print("卡路里為{0:*>20,}".format(calories))#將calories用逗號(hào)分隔,并居右側(cè)#將exercise轉(zhuǎn)換為一位精度的浮點(diǎn)數(shù),并設(shè)置calories的精度為兩位print("我運(yùn)動(dòng)了{(lán)0:.1f}分鐘,消耗了{(lán)1:,.2f}卡路里".format(exercise,calories))卡路里為********3,120.123638我運(yùn)動(dòng)了300.0分鐘,消耗了45,120.12卡路里3.4字符串類型及其操作3.4.3神奇的f字符串Python3.6中,提供了一種新的格式化字符串的方法——f-strings,即f字符串。f字符串的格式化處理與format()方法類似,但語(yǔ)法又比其簡(jiǎn)潔。Python3.6及以后的版本,推薦使用f字符串進(jìn)行字符串的格式化。f字符串用花括號(hào)“{}”表示被替換的字段。name="張三"studentId="202201"print(f"我叫{name},學(xué)號(hào)為{studentId}")我叫張三,學(xué)號(hào)為202201在模板前加上f或者F,{}中填上需輸出的變量3.4字符串類型及其操作3.4.3神奇的f字符串f字符串的格式化處理方式milk="牛奶"milk_sales=100032894.37298f_milk=f"商品{milk:*^10},銷售額為{milk_sales:*^20,.2f}"oil="食用油"oil_sales=10048293984.4294f_oil=f"商品{oil:*^10},銷售額為{oil_sales:*^20,.2f}"print(f_milk)print(f_oil)商品****牛奶****,銷售額為***100,032,894.37***商品***食用油****,銷售額為*10,048,293,984.43**3.4字符串類型及其操作3.4.4字符串的索引與切片-索引字符串是一個(gè)不可變的字符序列,每個(gè)字符都有其編號(hào),也稱為索引。3.4字符串類型及其操作3.4.4字符串的索引與切片-索引獲取"studyhard"中的字符"h"word="studyhard"word[6]word[-4]3.4字符串類型及其操作3.4.4字符串的索引與切片-len()函數(shù)len()函數(shù)用于計(jì)算字符串的長(zhǎng)度len(string)string為要進(jìn)行長(zhǎng)度計(jì)算的字符串計(jì)算字符串"studyhard"的長(zhǎng)度length=len("studyhard")print(length)10len()函數(shù)在計(jì)算字符串長(zhǎng)度時(shí),不區(qū)分字母、漢字、數(shù)字、標(biāo)點(diǎn)和特殊字符等3.4字符串類型及其操作3.4.4字符串的索引與切片-切片字符串切片是指從字符串中截取部分字符并組成新的字符串,且不會(huì)使原字符串產(chǎn)生變化。sname[start:end:step]參數(shù)說明sname字符串名稱start切片開始的位置(包括此位置),不指定時(shí)默認(rèn)為0end切片結(jié)束的位置(不包括此位置),不指定時(shí)默認(rèn)為序列的長(zhǎng)度step切片的步長(zhǎng),不傳參時(shí)默認(rèn)為1,最后的冒號(hào)也可以省略3.4字符串類型及其操作3.4.4字符串的索引與切片-切片sname="學(xué)習(xí)Python使我快樂"#共12個(gè)字符print("sname[:]:",sname[:])#取到字符串所有字符print("sname[3:8]:",sname[3:8])#默認(rèn)步長(zhǎng)位1print("sname[:8]:",sname[:8])#默認(rèn)從索引0開始,步長(zhǎng)為1print("sname[3:]:",sname[3:])#默認(rèn)到字符串末尾,步長(zhǎng)為1print("sname[3:8:2]:",sname[3:8:2])#設(shè)置步長(zhǎng)為2print("sname[:-4]:",sname[:-4])#索引0到-4的字符,不含-4print("sname[-8:-3:2]:",sname[-8:-3:2])#索引-8到-3,不含-3,步長(zhǎng)為2print("sname[8:3:-2]:",sname[8:3:-2])#索引8到3,不含3,步長(zhǎng)為-2sname[:]:學(xué)習(xí)Python使我快樂sname[3:8]:ythonsname[:8]:學(xué)習(xí)Pythonsname[3:]:ython使我快樂sname[3:8:2]:yhnsname[:-4]:學(xué)習(xí)Pythonsname[-8:-3:2]:to使sname[8:3:-2]:使ot3.4字符串類型及其操作3.4.5字符串的拼接與重復(fù)-字符串拼接使用“+”可以實(shí)現(xiàn)字符串拼接,將多個(gè)字符串連接起來并產(chǎn)生一個(gè)字符串對(duì)象name="張三"action="吃了早飯"print(name+action)張三吃了早飯3.4字符串類型及其操作3.4.5字符串的拼接與重復(fù)-字符串拼接str1="我今天吃了"num=3str2="碗飯"print(str1+num+str2)Traceback(mostrecentcalllast):File"C:\1000phone\test.py",line4,in<module>print(str1+num+str2)TypeError:canonlyconcatenatestr(not"int")tostr“+”只能用于相同類型之間的拼接類型錯(cuò)誤異常TypeError3.4字符串類型及其操作3.4.5字符串的拼接與重復(fù)-字符串拼接str()函數(shù)和repr()函數(shù)是將對(duì)象轉(zhuǎn)換為字符串形式的兩種機(jī)制str()函數(shù):會(huì)將對(duì)象轉(zhuǎn)換為合理形式的字符串,以便用戶理解repr()函數(shù):會(huì)創(chuàng)建一個(gè)字符串,用合法的Python表達(dá)式的形式來表示對(duì)象,以供Python解釋器讀取action="Hi,1000phone"print("str()函數(shù)處理后:"+str(action))print("repr()函數(shù)處理后:"+repr(action))str1="我今天吃了"num=3str2="碗飯"print("用str()函數(shù)實(shí)現(xiàn)字符串拼接:"+str1+str(num)+str2)str()函數(shù)處理后:Hi,1000phonerepr()函數(shù)處理后:'Hi,1000phone'用str()函數(shù)實(shí)現(xiàn)字符串拼接:我今天吃了3碗飯3.4字符串類型及其操作3.4.5字符串的拼接與重復(fù)-重復(fù)字符串使用“*”可以將字符串重復(fù)多次print("study"*5)studystudystudystudystudysname="*"*5+"\n"#\n用于換行print(sname*5)*************************打印一個(gè)正方形3.4字符串類型及其操作3.4.6字符串的成員歸屬字符串的成員歸屬需要用到成員運(yùn)算符,成員運(yùn)算符能夠判斷指定序列中是否包含某個(gè)值。in:如果在指定序列中找到值,返回True,否則返回False。notin:如果在指定序列中沒有找到值,返回True,否則返回False。sentence="iwanttoeatmeat"print("e在sentence中:","e"insentence)print("e不在sentence中:","e"notinsentence)e在sentence中:Truee不在sentence中:False查找字符串中是否含有某字符3.5常用的字符串方法字符大小寫轉(zhuǎn)換判斷字符內(nèi)容分割和合并字符串檢索子串替換子串去除空格等字符3.5常用的字符串方法3.5.1字符大小寫轉(zhuǎn)換方法說明sname.title()將字符串中的每個(gè)單詞首字母大寫sname.upper()將字符串中所有字母轉(zhuǎn)為大寫sname.lower()將字符串中所有字母轉(zhuǎn)為小寫sname來表示字符串或字符串變量,方法均返回一個(gè)新的字符串,原字符串不變sname="Iwanttostudy"print("sname.title():",sname.title())print("sname.upper():",sname.upper())print("sname.lower():",sname.lower())sname.title():IWantToStudysname.upper():IWANTTOSTUDYsname.lower():iwanttostudy3.5常用的字符串方法3.5.2判斷字符內(nèi)容sname來表示字符串或字符串變量password=input("請(qǐng)輸入您的密碼(必須包含數(shù)字與字母)")print("密碼是否全是字母:",password.isalpha())print("密碼是否全是數(shù)字:",password.isnumeric())請(qǐng)輸入您的密碼(必須包含數(shù)字與字母)study123密碼是否全是字母:False密碼是否全是數(shù)字:False方法說明sname.isupper()當(dāng)字符串中所有字符都是大寫時(shí)返回True,否則返回Falsesname.islower()當(dāng)字符串中所有字符都是小寫時(shí)返回True,否則返回Falsesname.isalpha()當(dāng)字符串中所有字符都是字母或中文字時(shí)返回True,否則返回Falsesname.isnumeric()當(dāng)字符串中所有字符都是數(shù)字時(shí)返回True,否則返回Falsesname.isspace()當(dāng)字符串中所有字符都是空格時(shí)返回True,否則返回False檢驗(yàn)密碼內(nèi)容3.5常用的字符串方法3.5.3分割和合并字符串字符串可以通過特定字符分割為列表形式,列表以及其他的可迭代對(duì)象也可以合并為一個(gè)字符串。sname="人-生-苦-短-我-用-Python"list01=sname.split("-")#將sname字符串以“-”分割開print(list01)join_str="~".join(list01)#用“~”將list01列表中的元素連接起來print(join_str)['人','生','苦','短','我','用','Python']人~生~苦~短~我~用~Python方法說明sname.split(sep=None,maxsplit=-1)字符串按照sep分割后以列表形式返回sname.join(iterable)將可迭代對(duì)象iterable用字符sname拼接在一起,返回一個(gè)合并后的新字符串3.5常用的字符串方法3.5.4檢索子串sname來表示字符串或字符串變量,方法中start和end都是可選參數(shù),如果不傳入start,則從開頭開始檢索,不傳入end,則一直檢索至末尾方法說明sname.count(sub[,start[,end]])返回sname[start:end]中sub子串出現(xiàn)的次數(shù),如果字符串中沒有sub子串則返回0sname.find(sub[,start[,end]])返回sname[start:end]中首次出現(xiàn)sub子串的索引,如果字符串中沒有sub子串則返回-1sname.index(sub[,start[,end]])返回sname[start:end]中首次出現(xiàn)sub子串的索引,如果字符串中沒有sub子串則報(bào)錯(cuò)sname.startswith(prefix[,start[,end]])檢測(cè)sname[start:end]是否以prefix子串開頭,如果是則返回True,否則返回Falsesname.endswith(suffix[,start[,end]])檢測(cè)sname[start:end]是否以suffix子串結(jié)尾,如果是則返回True,否則返回False3.5常用的字符串方法3.5.4檢索子串sname="count方法的用處是返回sname[start:end]中sub子串出現(xiàn)的次數(shù)"print("sname中s出現(xiàn)的次數(shù)是:",sname.count("s"))print("sname中count子串的索引是:",sname.find("count"))print("sname中'返回'子串的索引是:",sname.index("返回"))print("sname是以'方法'為開頭嗎:",sname.startswith("方法"))print("sname是以'次數(shù)'為結(jié)尾嗎:",sname.endswith("次數(shù)"))sname中s出現(xiàn)的次數(shù)是:3sname中count子串的索引是:0sname中'返回'子串的索引是:11sname是以'方法'為開頭嗎:Falsesname是以'次數(shù)'為結(jié)尾嗎:True3.5常用的字符串方法3.5.4檢索子串sname="count方法的用處是返回sname[start:end]中sub子串出現(xiàn)的次數(shù)"print("sname中s出現(xiàn)的次數(shù)是:",sname.count("s"))print("sname中count子串的索引是:",sname.find("count"))print("sname中'返回'子串的索引是:",sname.index("返回"))print("sname是以'方法'為開頭嗎:",sname.startswith("方法"))print("sname是以'次數(shù)'為結(jié)尾嗎:",sname.endswith("次數(shù)"))sname中s出現(xiàn)的次數(shù)是:3sname中count子串的索引是:0sname中'返回'子串的索引是:11sname是以'方法'為開頭嗎:Falsesname是以'次數(shù)'為結(jié)尾嗎:True3.5常用的字符串方法3.5.4檢索子串-index()方法sname="Python"sname.index("s")Traceback(mostrecentcalllast):File"C:\1000phone\test.py",line2,in<module>sname.index("s")ValueError:substringnotfoundindex()方法在沒有檢索到子串時(shí)會(huì)

溫馨提示

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