Python程序設(shè)計(jì)案例教程 課件 模塊2基本數(shù)據(jù)類型_第1頁
Python程序設(shè)計(jì)案例教程 課件 模塊2基本數(shù)據(jù)類型_第2頁
Python程序設(shè)計(jì)案例教程 課件 模塊2基本數(shù)據(jù)類型_第3頁
Python程序設(shè)計(jì)案例教程 課件 模塊2基本數(shù)據(jù)類型_第4頁
Python程序設(shè)計(jì)案例教程 課件 模塊2基本數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩106頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

模塊2基本數(shù)據(jù)類型學(xué)習(xí)目標(biāo)掌握Python數(shù)據(jù)類型的分類,認(rèn)識基本數(shù)據(jù)類型知道什么是變量和常量掌握賦值語句掌握數(shù)字類型,熟練使用運(yùn)算符實(shí)現(xiàn)常見的數(shù)值運(yùn)算會定義字符串,熟練使用字符串常用方法和函數(shù)會格式化字符串,會使用字符串切片任務(wù)2-1輸出個人信息常量21變量34目錄數(shù)據(jù)類型賦值語句任務(wù)2-1輸出個人信息編寫“輸出個人信息”的程序,程序名為example211.py,程序編寫要求如下:1)為程序添加合適的注釋信息;2)定義與個人信息相關(guān)的變量,如姓名、性別、年齡、身高等;3)輸出個人信息,參考格式如下:任務(wù)實(shí)施1.編程分析根據(jù)編程的IPO方法,可以將程序思路描述如下:輸入數(shù)據(jù):本列中的輸入數(shù)據(jù)是在程序中直接給各變量賦值。處理數(shù)據(jù):本例中不需要對數(shù)據(jù)特別處理。輸出數(shù)據(jù):將處理后的數(shù)據(jù)使用print()函數(shù)輸出到控制臺。2.程序代碼"""程序名:example211.py;功能:輸出個人信息"""name='張建國' #給變量name賦值為'張建國'age=18 #給變量age賦值為18sex='男'height=1.78print('{:*^20}'.format('輸出個人信息')) #使用format方法來格式化輸出print() #輸出換行print(f'姓名:{name}') #使用簡潔格式輸出姓名print(F'年齡:{age}')print('性別:{0:^4}身高:{1:<6}'.format(sex,height))2.1.3相關(guān)知識1.變量變量是占用內(nèi)存空間的數(shù)據(jù)存儲區(qū)域。Python中的變量是通過賦值運(yùn)算來創(chuàng)建的,不需要先聲明變量名及類型。Python中的變量類型是可以改變的變量類型是由變量的值決定的函數(shù)id(變量名)可以返回變量所指向的地址值。1.變量---變量的命名變量的命名一定要遵守Python的標(biāo)識符的命名規(guī)則,除此之外還要注意以下事項(xiàng):(1)變量名區(qū)別大小寫字母。Age與age是不同的變量名。(2)變量要簡短且有描述性。如student_age比s_a好。(3)變量名中最好不要使用中文。(4)變量名不能與Python內(nèi)置的保留字相同。(5)變量名中不能有空格,可以使用下劃線來分隔變量名中的單詞,如student_name。1.變量---關(guān)鍵字在編程語言中有特殊含義的英文單詞稱為“保留字”,也稱為“關(guān)鍵字”>>>importkeyword#導(dǎo)入keyword庫>>>keyword.kwlist['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']2.常量常量即在編程時,使用它字面意義上的值或內(nèi)容。如59,100就表示它字面上的意義,它的值是不能改變的;如“Lifeisshort,usepython”是一個字符串常量;如False、True是Python中bool類型的常量,分別表示假和真,不可以改變。3、數(shù)據(jù)類型現(xiàn)實(shí)世界中的數(shù)據(jù)有明顯的分類銀行存款利率是限小數(shù)數(shù)學(xué)中的π無限不循環(huán)小數(shù)年齡是非負(fù)整數(shù)姓名一般是文本為了表示和區(qū)分這些各種各樣的數(shù)據(jù),編程語言對數(shù)據(jù)進(jìn)行分類,設(shè)計(jì)出各種各樣的數(shù)據(jù)類型Python內(nèi)置對象的數(shù)據(jù)類型內(nèi)置對象的數(shù)據(jù)類型簡單類型數(shù)值類型整型浮點(diǎn)型復(fù)數(shù)布爾類型字符串容器類型列表元組字典集合3.賦值語句---賦值語句的基本形式左邊是變量名,可以是多個變量名右邊是表達(dá)式,表達(dá)式即為通過各種運(yùn)算符將常量、變量等連接起的式子,如a*b+100,a>b,a,len(s)...變量名=表達(dá)式4.賦值語句賦值語句將執(zhí)行兩個動作,一是將表達(dá)式值存儲在內(nèi)存單元中,二是將變量指向該內(nèi)存單元。3.賦值語句---賦值語句的基本形式Python不需要對變量進(jìn)行先聲明其類型變量賦值后就確定了變量的類型,即變量值的類型確定變量的類型在使用變量過程中可以隨意改變變量的值,變量類型隨著其值類型的變化而變化變量名=表達(dá)式3.賦值語句---賦值語句格式變量名=表達(dá)式例:>>>

a='我愛我的祖國'>>>b=a>>>dela>>>print(b)我愛我的祖國下面這些賦值語句正確嗎?100=x+yx+y=2005x=200-y賦值語句格式變量名=表達(dá)式賦值語句創(chuàng)建的是對一個對象的引用,也可以說變量存儲的是數(shù)據(jù)在內(nèi)存中的地址

;將一個變量賦值給另一個變量時,實(shí)際創(chuàng)建的是兩個指向同一個對象的指針。

可使用id()函數(shù)來查看變量中存儲的地址。賦值常見形式---1、整體賦值num=100str1='我喜歡程序設(shè)計(jì)'ls=[10,20,30,40]dict1={'name':'rose','gender':'female','age':18}tuple1=(10,20,20,30)set1={10,40,50,20}變量名=值賦值常見形式---2、分解賦值1num1,num2=100,90[name,sex]='jack','man'(a,b,c)='ABC'a,b,c='250'分解賦值時一定要注意賦值號(=)左右的元素?cái)?shù)目要匹配,否則會出現(xiàn)錯誤a,b,c='Python'×str='Python'a,b,c=str[0],str[2],str[1]賦值常見形式---2、分解賦值2利用分解賦值可以交換兩個變量的值x,y=10,20x,y=y,xprint('x={0:>3},y={1:>3}'.format(x,y))上面程序段的輸出結(jié)果為:x=20,y=10賦值常見形式---3、擴(kuò)展序列包賦值擴(kuò)展序列解包,使得賦值號左側(cè)變量數(shù)量可以少于右側(cè)數(shù)據(jù)的項(xiàng)數(shù),方法是使用一個帶有單個星號的變量名,它可以收集沒有給其他變量賦值的所有數(shù)據(jù)內(nèi)容。a,b,*c='Python'或*a,b,c='Python',a,*b,c='Python'請問a,b,c的值各是多少?賦值常見形式---3、擴(kuò)展序列包賦值seq=[1,2,3,4]a,*b=seqseq=[1,2,3,4]*a,

b=seqa,*b='Python'請問a,b值各為多少?則a值為1,b值為[2,3,4]則a值為[1,2,3],b值為4seq=[1,2,3,4]a,

b,*c=seq則a為1,b為2c為[3,4]a='P',b=['y','t','h','o','n']賦值常見形式---4、多重賦值(從右到左)多重賦值也稱為鏈?zhǔn)劫x值,是在同一行語句中給多個變量賦予相同的值

,執(zhí)行時從右向左執(zhí)行>>>x=y=z=100>>>x=x+10>>>print(x,y,z)賦值常見形式---4、多重賦值(從右到左)多重賦值是使多個變量指向同一個數(shù)據(jù)位置的賦值多重賦值時,如值是可變數(shù)據(jù)類型(如列表、字典),如果通過一個變量修改了數(shù)據(jù),其他變量的值也會相應(yīng)的改變>>>ls1=ls2=ls3=[]>>>ls1.append(100)>>>print(ls1,ls2,ls3)賦值常見形式---5、增強(qiáng)賦值增強(qiáng)賦值是賦值運(yùn)算符與其它運(yùn)算符相結(jié)合來使用,更簡潔執(zhí)行速度更快>>>x=y=10>>>x*=y+50>>>y/=100常用的增強(qiáng)賦值運(yùn)算符有:+=-=*=/=//=**=%=^=&=|=x=x*(y+50)y=y/100賦值常見形式---5、增強(qiáng)賦值增強(qiáng)賦值是賦值運(yùn)算符與其它運(yùn)算符相結(jié)合來使用,更簡潔執(zhí)行速度更快>>>x=y=10>>>x*=y+50>>>y/=100常用的增強(qiáng)賦值運(yùn)算符有:+=-=*=/=//=**=%=^=&=|=x=x*(y+50)y=y/100小結(jié)1、整體賦值ls=[1,20,40,60]2、分解賦值num1,num2=[20,40]3、鏈?zhǔn)劫x值(多重賦值)num1=num2=1004、增強(qiáng)賦值num1*=num2+505、擴(kuò)展序列包賦值num1,*num2=[20,30,40,10]變量名=表達(dá)式任務(wù)2-2

計(jì)算兩個數(shù)的加減乘除運(yùn)算符21數(shù)字類型34目錄數(shù)學(xué)模塊math數(shù)據(jù)類型轉(zhuǎn)換函數(shù)任務(wù)概述編程實(shí)現(xiàn):接收用戶輸入的兩個數(shù),并將其分別保存在變量num1、num2中,然后求出這兩個數(shù)和、差、積、商、商的整數(shù)部分及余數(shù)、num1的3次冪并輸出,比較兩個數(shù)的大小并輸出結(jié)果。請使用字符串格式化來美化程序輸出,程序輸出結(jié)果要清晰、美觀,程序命名為calculate.py程序代碼#程序功能:計(jì)算兩個數(shù)的+、-、*、/等運(yùn)算,程序名稱:calculate.pyprint('程序功能:計(jì)算兩個數(shù)的+、-*、/等運(yùn)算')num1=eval(input('請輸入第1個數(shù):'))num2=eval(input('請輸入第2個數(shù):'))print(num1,'+',num2,'=',num1+num2)#這種寫法較繁鎖,最好使用字num3=num1-num2#求出num1減去num2的值并賦值給numprint(f'{num1}-{num2}={num3}')num3=num1*num2#求出num1乘num2的值并賦值給num3print(F'{num1}*{num2}={num3}')num3=num1/num2print('%-4d/%-4d=%-4f'%(num1,num2,num3))num3=num1//num2print("{}//{}={}".format(num1,num2,num3))print("{0:<4d}%{1:<4d}={2:^4d}".format(num1,num2,num1%num2))print("{:<4d}的3次冪={:<4d}".format(num1,num1**3))print("100>33值為",100>33)相關(guān)知識

1、數(shù)字類型整型100789浮點(diǎn)型99.0-30.62.5e+4復(fù)數(shù)類型3+2j3.5-1.8j布爾型TrueFalse2.

整型Python中使用4種進(jìn)制表示整型進(jìn)制標(biāo)志符數(shù)碼例二進(jìn)制八進(jìn)制十進(jìn)制十六進(jìn)制0B0b010b10100B10110O0o0,1,2,3,4,5,6,70O765默認(rèn)表示方法0至97889.780Xox0,1,2,3,4,5,6,78,9,A,B,C,D,E,F0X23AC3.浮點(diǎn)型浮點(diǎn)數(shù)一般以十進(jìn)制形式表示對于較大或較小的浮點(diǎn)數(shù),可以使用科學(xué)計(jì)數(shù)法表示,ne+mnE-mm必須為整數(shù)num_one=3.1415 #十進(jìn)制形式表示num_two=2.5e2 #科學(xué)計(jì)數(shù)法表示num_third=2e-2 #科學(xué)計(jì)數(shù)法表示4、復(fù)數(shù)類型復(fù)數(shù)有以下3個特點(diǎn):復(fù)數(shù)由實(shí)部和虛部構(gòu)成,其一般形式為:real+imagj。實(shí)部real和虛部的imag都是浮點(diǎn)型。虛部必須有后綴j或J。例:num=35.7+89jprint(num.real,num.imag)利用complex()可以創(chuàng)建復(fù)數(shù)num=complex(7.8,9)5、布爾類型Python中的布爾類型(bool)只有兩個取值:True和False。Python中的任何對象都可以轉(zhuǎn)換為布爾類型符合以下條件的數(shù)據(jù)都會被轉(zhuǎn)換為False,其它都會轉(zhuǎn)換為TrueNone;任何為0的數(shù)字類型,如0、0.0、0j;任何空序列,如

""、()、[];任何空字典,如{};用戶定義的類實(shí)例,如類中定義了__bool__()或者_(dá)_len__()。bool()可以使用bool()函數(shù)檢測對象的布爾值。查看數(shù)據(jù)類型使用type()函數(shù)可以查看對象的數(shù)據(jù)類型type('自尊')type({})type(None)type(60/4)m=89+90type(m)type(8+9j)6.運(yùn)算符編程中常用到表達(dá)式。Python中的表達(dá)式就是用圓括號、數(shù)字、字符串、變量和各類運(yùn)算符號綜合在一起的式子,計(jì)算可以得到一個值,如100+(a+b)**2+b//a。算術(shù)運(yùn)算符運(yùn)算符描述舉例(a=20,b=30)+加,兩個操作數(shù)相加,也可作為正號列表、字符串、元組和集合都可以進(jìn)行+操作a+b值為50-減,兩個操作數(shù)相減,也可作為負(fù)號a–b值為-10*乘,兩個操作數(shù)相乘a*b值為600**冪運(yùn)算,a**b即為a的b次冪a**3值為8000%取模,即求余數(shù)b%a值為10//整除,即取商的整數(shù)部分,與floor()函數(shù)功能一樣b//a值為1表2-2常用算術(shù)運(yùn)算符表2-3常用關(guān)系運(yùn)算符(或比較運(yùn)算符運(yùn)算符描述舉例(a=20,b=30)==判斷兩個操作數(shù)是否相等a==b值為False!=判斷兩個操作數(shù)是否不相等a!=b值為True<、<=小于、小于等于a<b值為True,a<=b值為True>、>=大于、大于等于a>b值為False,a>=b值為False邏輯運(yùn)算符運(yùn)算符描述舉例(a=True,b=False)and邏輯與,x

andy,若x為False,返回x,否則返回y即哪個操作數(shù)決定式子的值,即返回這個操作數(shù)的值aandb值為b的值or邏輯或,x

or

y,若x為True,返回x,否則返回y即哪個操作數(shù)決定式子的值,即返回這個操作數(shù)的值aorb值為a的值not邏輯非,notx,若x為True,返回False,否則Truea<b值為True,a<=b值為True測試運(yùn)算符運(yùn)算符描述舉例(a='C',b='China')in在指定的序列中找到相應(yīng)的值,找到則返回True,否則為Falseainb值為Truenotin在指定的序列中沒有找到相應(yīng)的值,則返回True,否則為Falseanotinb值為Falseis對象一致性測試,一致則為True,否則為Falseaisb值為Falseisnot對象不一致性測試,不一致則為True,否則為Falseaisnotb值為True7.運(yùn)算符的優(yōu)先級序號運(yùn)算符舉例1單目運(yùn)算(或一元運(yùn)算)+,-+10-202**num**310**-23*,/,%,//100

//

9

/34<,>,==,!=,<=,>=100

90

>

3值為True5notnot100–90>3值為False6is,isnotnum1isnum27in,notin'good'in'hi,gogood'值為True8and10**-2and3>5-4值為True9or60<30or5+10值為158.?dāng)?shù)學(xué)模塊math在編程中,如需進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算,例如求平方根、求對數(shù)、求三角函數(shù)等等,可使用Python提供的數(shù)學(xué)模塊math。要使用math模塊,需先導(dǎo)入該模式,語句如下:importmathmath模塊中的數(shù)學(xué)常數(shù)數(shù)學(xué)常數(shù)數(shù)學(xué)符號說明piπ圓周率,ee自然對數(shù)inf∞正無窮大,負(fù)無窮大為-math.infnan

nan,即"notanumber",在python中被用作浮點(diǎn)數(shù)的一種特殊值。它的主要作用是表示一個無法表示為數(shù)字的數(shù)字值,例如由于除0操作而導(dǎo)致的結(jié)果。9.?dāng)?shù)據(jù)類型轉(zhuǎn)換函數(shù)函數(shù)功能舉例int(x)將參數(shù)x的值轉(zhuǎn)換為整數(shù)作為函數(shù)的返回值

x可以浮點(diǎn)數(shù),也可以是只有整數(shù)的字符串int(8.828)值為8int('100')值為100int('100.89')這個會出錯,因這個字符串中的數(shù)不是整數(shù)int(100.89)值為100float(x)將參數(shù)x的值轉(zhuǎn)換為浮點(diǎn)數(shù),作為函數(shù)的返回值

x可以數(shù)字類型,也可以是只有數(shù)字的字符串float(100)值為100.0float('100.89')值為100.89str(x)將參數(shù)x的值轉(zhuǎn)換為字符串,作為函數(shù)的返回值str(100)值為'100'str(7/2)值為'3.5'任務(wù)2-3輸出個人信息和向祖國表白信息字符串基本操作符21字符串類型34目錄索引常用字符處理函數(shù)和處理方法任務(wù)概述編寫“輸出個人信息和向祖國表白信息”的程序,程序名為example231.py,程序主要功能要求如下:(1)接收用戶輸入的姓名、年齡、喜歡的編程語言及對祖國的表白(中文和英文兩種);(2)根據(jù)用戶輸入信息,如用戶輸入姓名是張華,年齡為18,編程語言是Python,則在屏幕輸出“張華今年18歲,張華喜歡Python程序設(shè)計(jì)語言”;(3)將用戶對祖國的英文表白分別以全部大寫、全部小寫、每個單詞首字母大寫、語句的第一個字母大寫輸出顯示;(4)將用戶對祖國的中文表白以各漢字間以一個*號拼接輸出,例如“祖*國*我*愛*您*!”;(5)判斷“中國”是否在用戶的中文表白中;(6)輸出用戶的兩種表白文本長度;相關(guān)知識1字符串的定義(String)(

)一組字符(Characters)的有序序列(Sequence),是任何字符進(jìn)行的隨意組合。字符串由一對單引號、雙引號或三引號引起來字符串類型是一種不可改變的數(shù)據(jù)類型不可以原地改變字符串的內(nèi)容,改變后即生成另一個字符串字符串可以整體修改1字符串的定義(String)從python3起,字符串都是unicode字符串,每個英文字符和中文字都是一個字符.字符串常量1、單行字符串:單行字符串包含在一對單引號或一對雙引號中。(2種方法)

‘123’“helloworld”2、多行字符串:以一對三單引號或三雙引號作為邊界來表示。(2種方法)'''請輸入帶有符號的溫度值:

符號為F或C'''"""我愛偉大的祖國"""字符串常量表示方法(兩種4類)問題:一字符串的內(nèi)容如下:"Yes,This'sagirl"該如何把該字符串賦值給一個變量例子:請用四種字符串表示法將下面語句(注意語句中的標(biāo)點(diǎn)符號都是英文半角的)賦值給4個變量,變量名自定,然后輸出。Chaplinsaid:"Youhavetobelieveinyourself.Thatisthesecretofsuccess."人必須靠自己,這是成功的秘訣。——查理·卓別林問題:?如單引號或雙引號要作為一個字符串內(nèi)的字符,或單引號和雙引號同時作為字符串內(nèi)的字符,該如何表示這個字符串?方法一:使用三對單引號或雙引號來表示這個字符串"""Thesentence"HelloWorld"isstillhere"""方法二:使用單引號'Thesentence"HelloWorld"isstillhere‘方法三:使用轉(zhuǎn)義字符"Thesentence\"HelloWorld\"isstillhere"轉(zhuǎn)義字符轉(zhuǎn)義字符(P31):特殊字符“\”的作用是取消其后面字符原有的意義。如單引號(’)和雙引號是字符串常量開頭和結(jié)束的標(biāo)志如輸出的內(nèi)容需要有這兩種字符,則可以使用轉(zhuǎn)義字符print(“\”Yes,it\‘sagirl.\“”)print("c:\\new")\n:換行\(zhòng)r:回車如果字符串常量以r(或R)開頭,則系統(tǒng)將其中所有內(nèi)容均視為普通的字符轉(zhuǎn)義字符轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\a響鈴\'單引號(')\b退格\"雙引號(")\f換頁\\反斜杠\n換行\(zhòng)t水平制表符\r回車\v垂直制表符\(反斜杠)如果字符串較長時,輸入時需要分多行輸入時,可以在非末行的行尾添加“\”,這樣表示該行的字符串和下一行是連續(xù)的常見錯誤s="IlikePython'SyntaxError:EOLwhilescanningstringliteral語法錯誤:當(dāng)掃描字符文本串結(jié)尾時序列通用基本操作符操作符說明示例+序列加,兩個連成一個a+b,結(jié)果為Helloworld

*序列乘,重復(fù)序列內(nèi)容a*2,結(jié)果為HelloHello

>,<,==,!=,>=,<=比較序列a==b,結(jié)果為False

in,notin成員檢測檢查序列中是否存在或不存在某個子串a(chǎn)inb,結(jié)果為False

anotinb,結(jié)果為True以

a=“Hello”,b=“world”為例:

字符串拼接操作符+“+”運(yùn)算符實(shí)現(xiàn)兩個字符串的拼接,序列類型都可以進(jìn)行+操作>>>

str1='現(xiàn)代工匠精神的內(nèi)涵:

'>>>

str2='執(zhí)著專注,精益求精,一絲不茍,追求卓越。'>>>

print(str1+str2)現(xiàn)代工匠精神的內(nèi)涵:執(zhí)著專注,精益求精,一絲不茍,追求卓越。>>>

print([1,2]+[4,3])#利用+運(yùn)算對列表進(jìn)行拼接[1,2,4,3]字符串復(fù)制操作符*“*”運(yùn)算符實(shí)現(xiàn)復(fù)制字符串n次,其他序列類型也可以進(jìn)行該復(fù)制操作>>>print('讀書百遍,其義自見。'*3)讀書百遍,其義自見。讀書百遍,其義自見。讀書百遍,其義自見。>>>print([1,2]*3)[1,2,1,2,1,2]in和notinin判斷一個字符串是否在一個字符串序列中如果屬于序列中,則返回True,否則返回Falsenotin判斷一個字符串是否不在一個字符串序列中如果不在序列中,則返回True,否則返回FalseR/r原始字符串控制符號在字符串前加上R或r,表示字符串的原來的含義,轉(zhuǎn)義字符不起作用。3.索引序列類型對象中的每個元素都對應(yīng)有位置編號,這個位置編號稱為索引或下標(biāo)。索引有正向索引和反向索引。正向索引自左到右,從0開始依次增加1。反向索引自右到左,從-1開始依次遞減1。通過索引訪問不同位置的字符語句格式:字符串[索引號]正向遞增索引(從左到右)和反向遞減索引(從右到左)4.常用字符串處理函數(shù)函數(shù)功能len(x)返回字符串x的元素個數(shù),x也可以是其他組合數(shù)據(jù)類型。ord(char)返回單個字符char的Unicode編碼。str(x)返回任何類型數(shù)據(jù)x對應(yīng)的字符串形式。eval(string)eval()函數(shù)是去掉參數(shù)字符串最外層的引號,并以Python表達(dá)式方式執(zhí)行去掉引號后的字符串。

該函數(shù)常與input()函數(shù)一起使用,用來獲取用戶輸入的數(shù)字。

例如:num

=eval(input('請輸入成績:'))max(string)返回字符串string中unicode編碼值最大的字符。min(string)返回字符串string中unicode編碼值最小的字符。函數(shù)len()格式:len(字符串)min(),max()min():返回序列中最小值max():返回序列中最大值max("abcA")max([40,70,20]5.常用字符串處理方法方法與函數(shù)的調(diào)用方式不同函數(shù)是直接以“函數(shù)名(實(shí)參)”形式調(diào)用而方法的調(diào)用是使用點(diǎn)的方法的調(diào)用。字符串方法的調(diào)用格式如下:字符串常量(或變量)str='python‘str.upper()'python'.title()方法調(diào)用必須點(diǎn)的形式來調(diào)用,方法是面向?qū)ο缶幊讨刑赜械拿~。方法也是函數(shù)方法不會改變原字符串的值,調(diào)用這些方法都會生成新的字符串.方法名()1連接字符串方法(join)調(diào)用方法:string.join(sequence)sequence作為分隔符連接指定的序列sequence,返回組合后的新字符串2分割字串符(split)調(diào)用方法:string.split(sep,[maxsplit])sep:指定的分割串字符的分隔符,如缺省則表示以空格分隔maxsplit:用于指定返回的結(jié)果列表中的元素索引的最大值常用于對英文文本的詞匯分割3、查找和替換字符串方法方法功能str.count(x)返回字符串x在字符串str中出現(xiàn)的次數(shù)str.find(sub[,start[,end]])從左向右在字符串str中查找子字符串sub,如找到,則返回字符串sub的第一個字符在字符串str中的位置索引,否則返回-1。

start表示查找開始的索引位置,end指定查找結(jié)束索引位置str.rfind(sub[,start[,end]])該方法與find()方法類同,只是從右向左查找str.index(sub[,start[,end]])在字符串str中查找子字符串sub,如找到,則返回字符串sub的第一個字符在字符串str中的位置索引,否則返回異常錯誤:“ValueError:substringnotfound”str.replace(old,new,count=-1)將字符串str中的old字符串使用new字符串取代生成新的字符串,作為方法的返回值。

count設(shè)置替換的次數(shù),默認(rèn)值為-1表示全部替換。字符串替換方法(replace)[r??ple?s]調(diào)用方法:string.replace(oldstr,newstr)用新串newstr替換原字符串中的oldstr,前提是原字符串中有相應(yīng)的oldstrstr1='Hello,,,world!!!'

str2="HELLO"

print(str1.replace(',','

'))

print(str2.replace('L','MM'))案例:編程完成以下功能(1)接收用戶輸入一首詩的文本,內(nèi)部包含中文逗號和句號。(2)用jieba庫的精確模式對輸入文本分詞。(3)將分詞后的詞語輸出并以"/"分隔;統(tǒng)計(jì)中文詞語數(shù)并輸出。示例如下(其中數(shù)據(jù)僅用于示意)∶輸入:月亮河寬寬的河,一天我從你身旁過輸出:月亮/河/寬寬的/河/一天/我/從/你/身旁/過/中文詞語數(shù)是:104、從字符串中刪除空格或指定符號的方法str.strip():刪除str前后的空格或指定的字符[str?p]str.lstrip():刪除str開頭的空格或指定的字符str.rstrip():刪除str尾部的空格或指定的字符

18.以下語句執(zhí)行結(jié)果是()。s=‘北京,上海,廣州,深圳,’print(s.strip(',').replace(',',';'))A.北京;上海;廣州;深圳;B北京上海廣州深圳C.北京;上海;廣州;深圳,D.北京;上海;廣州;深圳lower():轉(zhuǎn)換為小寫upper():轉(zhuǎn)換為大寫title():每個單詞首字母大寫capitalize():整個字符串首字母大寫swapcase():反轉(zhuǎn)大小寫5、大小寫轉(zhuǎn)換方法str1='Helloworld!'str2="HELLO"str3=str1.capitalize()str4=str1.title()print(str1.upper())print(str2.lower())print(str1.title())print("IlikePython".swapcase())6、填充字符串center()center(width,fillchar=None)

:使用字符fillchar以居中對齊方式填充字符串,使其長度變?yōu)閣idth;rjust(width,fillchar=None)

:使用字符fillchar填充左邊,字符串右對齊,使其長度變?yōu)閣idth。ljust(width,fillchar=None)

:使用字符fillchar填充右邊,字符串左對齊,使其長度變?yōu)閣idth。判斷字符串中字符的類型方法功能str.isdecimal()判斷字符串str是否只包含十進(jìn)制數(shù)字(包括Unicode數(shù)字、單字節(jié)數(shù)字、雙字節(jié)全角數(shù)字,不包括羅馬數(shù)字、漢字?jǐn)?shù)字、小數(shù)),是則返回True,否則返回Falsestr.isdigit()判斷字符串str是否為數(shù)字字符(包括Unicode數(shù)字,單字節(jié)數(shù)字,雙字節(jié)全角數(shù)字,不包括漢字?jǐn)?shù)字,羅馬數(shù)字、小數(shù)),是則返回True,否則返回Falsestr.isnumeric()判斷字符串str中所有字符是否均為數(shù)值字符(包括Unicode數(shù)字、雙字節(jié)全角數(shù)字、羅馬數(shù)字、漢字?jǐn)?shù)字,不包括小數(shù)),是則返回True,否則返回Falsestr.isalpha()判斷字符串str所有字符是否都是字母,是則返回True,否則返回Falsestr.isalnum()判斷字符串str所有字符是否都是字母或數(shù)字,是則返回True,否則返回False字母大小寫轉(zhuǎn)換方法方法功能str.lower()將字符串str內(nèi)容全部小寫,并將轉(zhuǎn)換后的新字符串作為返回值str.upper()將字符串str內(nèi)容全部大寫,并將轉(zhuǎn)換后的新字符串作為返回值str.swapcase()將字符串str內(nèi)容大小寫字母互換,并將轉(zhuǎn)換后的新字符串作為返回值str.capitalize()將字符串str內(nèi)容轉(zhuǎn)換為首字母大寫其他字母小寫的字符串,并將轉(zhuǎn)換后的新字符串作為返回值str.title()將字符串str內(nèi)容中每個單詞的首字大寫,并將轉(zhuǎn)換后的新字符串作為返回值字符串填充方法功能str.center(width,fillchar=None)將字符串str內(nèi)容按指定width寬度居中對齊,兩側(cè)填充指定的fillchar使其長度變?yōu)閣idthstr.ljust(width,fillchar=None)將字符串str內(nèi)容按指定width寬度左對齊,右側(cè)填充指定的fillchar使其長度變?yōu)閣idthstr.rjust(width,fillchar=None)將字符串str內(nèi)容按指定width寬度右對齊,左側(cè)填充指定的fillchar使其長度變?yōu)閣idth移除字符串指定的方法方法功能str.strip(chars=None)移除字符串str首尾指定的字符chars,chars默認(rèn)值為空字符str.lstrip(chars=None)移除字符串str開頭指定的字符chars,chars默認(rèn)值為空字符str.rstrip(chars=None)移除字符串str尾部指定的字符chars,chars默認(rèn)值為空字符任務(wù)2-4字符串切片和字符串格式化任務(wù)概述錄入并調(diào)試下面代碼,結(jié)合相關(guān)知識,理解各語句的含義,掌握字符串格式化常用的方法。相關(guān)知識

2、切片:(很重要,高級應(yīng)用中常用)切片:利用切片可以截取序列對象中的一部分內(nèi)容。格式1:字符串[A:B]格式2:字符串[A:B:C增量]切片索引左閉右開,即切片所取范圍是大于等于A而小于B如果增量為正,切片從左往右,如為負(fù),則從右往左切片切片格式2應(yīng)用1、字符串[A:B:C]如A省略,表示從開頭起如果B省略,表示至結(jié)尾如果C省略,表示增量是1

選擇題設(shè)str1='*@python@*',語句print(str1[2:].strip(@'))的執(zhí)行結(jié)果是()。A.python@*Bpython*C.*@python@*D.*python*練習(xí)練習(xí)17.以下語句執(zhí)行結(jié)果是()。s='HelloWorld’print(s[5::-2])A.drWBolHc.WleD.looC【解析】本題考核的是字符串的切片,步長為負(fù)代表從后往前,起始點(diǎn)索引為5即代表從“W"開始切割,結(jié)束位置省略,代表切割剩下的所有位置,及從"W”,以步長為2,從后往前進(jìn)行切割。最后結(jié)果為“Wle”利用切片實(shí)現(xiàn)逆序排列字符串格式:字符串[::-1]2、字符串格式化字符串格式化,指的是就是按照一定的格式輸出字符串。方法1:使用格式符(%)對字符串格式化方法2:使用format()方法對字符串格式化方法3:f-string格式對字符串格式化的三種方法%格式化字符串使用%格式化字符串時,共有3部分組成:模板字符串(即要輸出的字符串)、%和一個包含要替換的值的元組,語句格式如下:<模板字符串>

%

(元素1

,元素2,……

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論