Python編程基礎(chǔ)(第3版)(微課版)課件 2.2 創(chuàng)建變量并提取里面的數(shù)值_第1頁(yè)
Python編程基礎(chǔ)(第3版)(微課版)課件 2.2 創(chuàng)建變量并提取里面的數(shù)值_第2頁(yè)
Python編程基礎(chǔ)(第3版)(微課版)課件 2.2 創(chuàng)建變量并提取里面的數(shù)值_第3頁(yè)
Python編程基礎(chǔ)(第3版)(微課版)課件 2.2 創(chuàng)建變量并提取里面的數(shù)值_第4頁(yè)
Python編程基礎(chǔ)(第3版)(微課版)課件 2.2 創(chuàng)建變量并提取里面的數(shù)值_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

創(chuàng)建變量并提取里面的數(shù)值1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價(jià)信息4Python變量Python的基礎(chǔ)變量主要有字符型和數(shù)值型兩種,其中數(shù)值型變量又可分為整型(int型)、浮點(diǎn)型(float型)、布爾型(bool型)、復(fù)型(complex型)。在創(chuàng)建變量時(shí)不需要聲明數(shù)據(jù)類型,Python能夠自動(dòng)識(shí)別數(shù)據(jù)類型。在Python中,變量不需要提前聲明,創(chuàng)建時(shí)直接對(duì)其賦值即可,變量類型由賦給變量的值決定。值得注意的是,一旦創(chuàng)建了一個(gè)變量,就需要給對(duì)應(yīng)變量賦值。Python變量Python中有一種“通俗”的說(shuō)法是,變量好比一個(gè)“標(biāo)簽”,指向內(nèi)存空間的一個(gè)特定的地址。創(chuàng)建變量時(shí),系統(tǒng)會(huì)自動(dòng)在機(jī)器的內(nèi)存中給對(duì)應(yīng)變量分配一塊內(nèi)存,用于存放變量值,如下圖所示。Python變量通過(guò)id函數(shù)可以查看變量創(chuàng)建和變量重新賦值時(shí)內(nèi)存空間的變化過(guò)程一個(gè)變量在初次賦值時(shí)將會(huì)獲得一塊內(nèi)存空間用來(lái)存儲(chǔ)變量值。當(dāng)令變量y等于變量x時(shí),其實(shí)是內(nèi)存地址的傳遞,變量y獲得的是存儲(chǔ)變量x值的內(nèi)存地址,所以當(dāng)變量x的值發(fā)生改變時(shí),變量y的值和其內(nèi)存地址都不會(huì)發(fā)生改變。當(dāng)變量x的值發(fā)生改變時(shí),系統(tǒng)會(huì)重新分配一塊內(nèi)存空間來(lái)存放新的變量值。代碼如下:>>>x=4>>>print(id(x))#查看變量x指向的內(nèi)存地址8791167088512Python變量>>>y=x#將變量x的值重新賦給另一個(gè)新變量y>>>print(id(y))8791167088512>>>x=2#對(duì)變量x重新賦值>>>print(x,y)#同時(shí)輸出變量x和變量y的值(2,4)>>>print(id(x))8791167088448>>>print(id(y)87911670885121.變量名變量的命名必須嚴(yán)格遵守標(biāo)識(shí)符的規(guī)則,Python中有一類非關(guān)鍵字的特殊字符串(如內(nèi)置函數(shù)名),這些字符串具有某種特殊功能,雖然將其用作變量名時(shí)不會(huì)出錯(cuò),但會(huì)造成相應(yīng)的功能喪失。例如:len函數(shù)可以用于返回字符串長(zhǎng)度,但是一旦將len作為變量名,就會(huì)失去返回字符串長(zhǎng)度的功能。代碼如下:>>>importkeyword#加載keyword庫(kù)>>>keyword.iskeyword('and')#判斷“and”是否為保留字TRUE>>>and=

'我是關(guān)鍵字'

#以關(guān)鍵字作為變量名SyntaxError:invalidsyntax1.變量名>>>strExample=

'我是一個(gè)字符串'

#創(chuàng)建一個(gè)字符串變量>>>print(len(strExample))#使用len函數(shù)查看字符串長(zhǎng)度7>>>len='特殊字符串命名'

#使用len作為變量名>>>print(len)#len函數(shù)查看字符串長(zhǎng)度會(huì)出錯(cuò)特殊字符串命名>>>print(len(strExample))#len()函數(shù)查看字符串長(zhǎng)度出錯(cuò)TypeError:'str’objectisnotcallable1.變量名如果在一段代碼中有大量變量名,而且這些變量名沒(méi)有錯(cuò)誤,但是其命名隨意、風(fēng)格不一,那么程序開(kāi)發(fā)人員在解讀代碼時(shí)可能會(huì)出現(xiàn)一些混淆,下面為一些常用的命名方式:(1)

大駝峰(uppercamelcase)該方法中,所有單詞的首字母都是大寫,例如“MyName”“YourFamily”等。一般用于類的命名。(2)小駝峰(lowercamelcase)該方法中,第一個(gè)單詞的首字母為小寫字母,其余單詞的首字母都采用大寫字母,例如“myName”、“youFamily”等。多用與函數(shù)名和變量的命名。1.變量名(3)下劃線(_)分隔該方法中所有單詞都采用小寫字母,中間用下劃線(_)分隔開(kāi),例如“my_Name,you_Family”等具體使用哪種方法對(duì)變量進(jìn)行命名,并沒(méi)有統(tǒng)一的規(guī)定,重要的是一旦選擇了一種命名法,在后續(xù)的程序編寫過(guò)程中一定要保持風(fēng)格一致。變量值就是賦給變量的數(shù)據(jù),Python中有6個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型,分別為數(shù)字(number)、字符串(string)、列表(list)、元組(tuple)、字典(dictionary)、集合(set)。其中,列表、元組、字典、集合屬于復(fù)合數(shù)據(jù)類型。最簡(jiǎn)單的變量賦值就是把一個(gè)變量值賦給一個(gè)變量,只需要用等號(hào)即可實(shí)現(xiàn)。變量賦值后,可以使用type函數(shù)查看變量的數(shù)據(jù)類型。2.變量值Python還可以將一個(gè)值同時(shí)賦給多個(gè)變量。將數(shù)字1同時(shí)賦給變量a、b、c的方法代碼如下:3.變量賦值>>>a=b=c=1#將一個(gè)值同時(shí)賦給多個(gè)變量>>>print(a)1>>>print(b)13.變量賦值>>>print(c)1>>>print(type(c))<class'int'>如果需要將數(shù)字1、2和字符串“abc”分別賦值給變量a、b、c,就需要使用逗號(hào)隔開(kāi),代碼如下:3.變量賦值>>>a,b,c=1,2,

'abc'

#將多個(gè)值分別賦給多個(gè)變量>>>print(a)1>>>print(b)2>>>print(c)

'abc'1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價(jià)信息4數(shù)值型變量的相互轉(zhuǎn)換Python3支持的數(shù)值型數(shù)據(jù)類型有整型、浮點(diǎn)型、布爾型、復(fù)型,Python3中的int表示長(zhǎng)整型,沒(méi)有了Python2中的long。整型指int型,浮點(diǎn)型指既有整數(shù)部分又有小數(shù)部分的float型,這些都是比較容易理解的。布爾型只有True(真)和False(假)兩種取值,True可以等價(jià)為數(shù)值1,F(xiàn)alse可以等價(jià)為數(shù)值0,并且可以直接使用布爾值進(jìn)行數(shù)學(xué)運(yùn)算。復(fù)型數(shù)據(jù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,其在Python中的結(jié)構(gòu)形式如real+imag(J/j作為后綴),實(shí)數(shù)和虛數(shù)部分都是浮點(diǎn)數(shù)。數(shù)據(jù)類型中文解釋示

例int整型10、100、1000float浮點(diǎn)型1.0、0.11、1e-12bool布爾型True、Falsecomplex復(fù)型1+1j、0.123j、1+0j數(shù)值型變量的相互轉(zhuǎn)換在Python中可以實(shí)現(xiàn)數(shù)值型變量的相互轉(zhuǎn)換,可使用的內(nèi)置函數(shù)有int、float、bool、complex。int函數(shù)類型轉(zhuǎn)換代碼如下:>>>print(int(1.56));print(int(0.156));print(int(-1.56));print(int())#浮點(diǎn)型轉(zhuǎn)整型10-10>>>print(int(True));print(int(False))#布爾型轉(zhuǎn)整型10>>>print(int(1+23j))#復(fù)型轉(zhuǎn)整型TypeError:int()argumentmustbeastring,abytes-likeobjectorarealnumber,not'complex'數(shù)值型變量的相互轉(zhuǎn)換從由浮點(diǎn)型轉(zhuǎn)整型的運(yùn)行結(jié)果可知:在將浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)的過(guò)程中,只是簡(jiǎn)單地將小數(shù)部分剔除,保留整數(shù)部分,int()函數(shù)的參數(shù)為空時(shí)的結(jié)果為0;由布爾型轉(zhuǎn)整型時(shí),布爾值True被轉(zhuǎn)換成整數(shù)1,F(xiàn)alse被轉(zhuǎn)換成整數(shù)0;復(fù)型無(wú)法轉(zhuǎn)換為整型。數(shù)值型變量的相互轉(zhuǎn)換bool函數(shù)類型轉(zhuǎn)換代碼如下:>>>print(bool(1));print(bool(2));print(bool(0))#整型轉(zhuǎn)布爾型TrueTrueFalse>>>print(bool(1.0));print(bool(2.3));print(bool(0.0))#浮點(diǎn)型轉(zhuǎn)布爾型TrueTrueFalse數(shù)值型變量的相互轉(zhuǎn)換用bool函數(shù)分別對(duì)空、空字符、空列表、空元組、空字典(或集合)進(jìn)行轉(zhuǎn)換時(shí)結(jié)果都為False。如果是非空數(shù)據(jù),那么結(jié)果是True(除去數(shù)值為0的情況)。代碼如下:>>>print(bool(1+23j));print(bool(23j))#復(fù)型轉(zhuǎn)布爾型TrueTrue>>>print(bool());print(bool(''));print(bool([]));...print(bool(()));print(bool({}))#各種類型的空值轉(zhuǎn)布爾型FalseFalseFalseFalseFalse數(shù)值型變量的相互轉(zhuǎn)換>>>print(int(1.56));print(int(0.156));print(int(-1.56));print(int())#浮點(diǎn)型轉(zhuǎn)整型10-10>>>print(int(True));print(int(False))#布爾型轉(zhuǎn)整型10>>>print(int(1+23j))#復(fù)型轉(zhuǎn)整型TypeError:int()argumentmustbeastring,abytes-likeobjectorarealnumber,not'complex'1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價(jià)信息4相比于數(shù)值型數(shù)據(jù),可以將字符型數(shù)據(jù)理解成一種文本,它的應(yīng)用更加廣泛。Python提供了標(biāo)識(shí)字符串的3種方式,分別是使用單引號(hào)(')、雙引號(hào)(")和三引號(hào)('''或""")。1.標(biāo)識(shí)字符串(1)單引號(hào)使用單引號(hào)標(biāo)識(shí)字符串的方法是將字符串用單引號(hào)包含。Python標(biāo)準(zhǔn)庫(kù)允許字符串中包含字母、數(shù)字和各種符號(hào)。Python3的默認(rèn)編碼為UTF-8,這意味著在字符串中任意使用中文也不會(huì)出錯(cuò)代碼如下:1.標(biāo)識(shí)字符串>>>print('科技是第一生產(chǎn)力')#使用單引號(hào)標(biāo)識(shí)字符串科技是第一生產(chǎn)力(2)雙引號(hào)使用雙引號(hào)標(biāo)識(shí)字符串的方法與單引號(hào)的完全相同。需要注意的是,單引號(hào)和雙引號(hào)不能混用。代碼如下:1.標(biāo)識(shí)字符串>>>print("創(chuàng)新是第一動(dòng)力")#使用雙引號(hào)標(biāo)識(shí)字符串創(chuàng)新是第一動(dòng)力(3)三引號(hào)三引號(hào)相比單引號(hào)或雙引號(hào),有一個(gè)比較特殊的功能,它能夠標(biāo)識(shí)一個(gè)多行字符串,且字符串的換行、縮進(jìn)等格式都會(huì)被原封不動(dòng)地保留。三引號(hào)是格式化記錄一段話的好幫手,但要注意前后引號(hào)形式要保持一致,不能混用。如下列代碼所示,通過(guò)print函數(shù)輸出結(jié)果,可以清楚地看到句子的換行和段落縮進(jìn)等細(xì)節(jié)都保持了原狀。代碼如下:1.標(biāo)識(shí)字符串>>>paragraph='''...質(zhì)量強(qiáng)國(guó)...網(wǎng)絡(luò)強(qiáng)國(guó)...數(shù)字中國(guó)'''#3個(gè)單引號(hào)標(biāo)識(shí)的一個(gè)字符串>>>print(paragraph)

質(zhì)量強(qiáng)國(guó)

網(wǎng)絡(luò)強(qiáng)國(guó)

數(shù)字中國(guó)1.標(biāo)識(shí)字符串當(dāng)使用單引號(hào)標(biāo)識(shí)一個(gè)字符串時(shí),如果該字符串中含有一個(gè)單引號(hào),如“What’shappened”,那么Python將不能識(shí)別這個(gè)字符串從何處開(kāi)始,又在何處結(jié)束。此時(shí)需要用到轉(zhuǎn)義符,即前文提到的反斜線,使單引號(hào)只作為純粹的單引號(hào),不具備任何其他作用。代碼如下:2.字符轉(zhuǎn)義>>>print('What'shappened')#單引號(hào)標(biāo)識(shí)的字符串中含有單引號(hào)SyntaxError:unterminatedstringliteral(detectedatline1)>>>print('What\'shappened')#反斜線轉(zhuǎn)義單引號(hào)What'shappened2.字符轉(zhuǎn)義>>>print("What'shappened")#雙引號(hào)標(biāo)識(shí)含有單引號(hào)的字符串What'shappened>>>print("Doublequotes(\")")#雙引號(hào)標(biāo)識(shí)的字符串中含有雙引號(hào)Doublequotes(")>>>print('Backslash(\\)')#轉(zhuǎn)義反斜線Backslash(\)比較特殊的是,用雙引號(hào)標(biāo)識(shí)一個(gè)包含單引號(hào)的字符串時(shí)不需要使用轉(zhuǎn)義符,但是如果其中包含一個(gè)雙引號(hào),就需要進(jìn)行轉(zhuǎn)義。另外,反斜線可以用于轉(zhuǎn)義其本身。代碼如下:2.字符轉(zhuǎn)義>>>print('D:\name\python')#含反斜線的特殊字符串D:ame\python>>>print(r'D:\name\python')#用r或R指定原始字符串D:\name\python此外,在Python中還可以通過(guò)給字符串加上前綴r或R來(lái)指定原始字符串字符串代碼如下:Python對(duì)字符串的操作比較靈活,包括提取指定位置的字符、字符串切片和字符串拼接等操作。字符串索引分為正索引和負(fù)索引,通常說(shuō)的索引是指正索引。在Python中,索引是從0開(kāi)始的,也就是第一個(gè)字符的索引是0,第二個(gè)字符的索引是1,以此類推,如下圖所示。很明顯,正索引是從左到右標(biāo)識(shí)字符的;負(fù)索引是從右到左標(biāo)識(shí)字符的,然后加上一個(gè)負(fù)號(hào)(-)。負(fù)索引的第一個(gè)值是-1,而不是0,因?yàn)槿绻?fù)索引的第一個(gè)值是0,那么將會(huì)導(dǎo)致索引0指向兩個(gè)值,這種情況是不允許的。3.字符串索引在Python中,只需要在變量后面使用方括號(hào)將需要提取的字符的索引括起來(lái),即可提取指定位置的字符。具體代碼如下:4.字符串基本操作(1)提取指定位置的字符>>>word='Python'>>>print(word[1])#提取第二個(gè)字符'y'>>>print(word[0])#提取第一個(gè)字符'P'>>>print(word[-1])#提取最后一個(gè)字符'n'字符串切片就是截取字符串的片段,形成子字符串。字符串切片的方式形如s[i:j],s表示字符串,i表示截取字符串的起始索引,j表示結(jié)束索引。需要注意的是,在截取結(jié)果中包含起始字符,但不包含結(jié)束字符,[i:j]是一個(gè)前閉后開(kāi)的區(qū)間。Python在字符串切片的功能上有很好的默認(rèn)設(shè)置。若省略第1個(gè)索引,則第1個(gè)索引默認(rèn)為0;若省略第2個(gè)索引,則第2個(gè)索引默認(rèn)為切片字符串的實(shí)際長(zhǎng)度,代碼如下:4.字符串基本操作(2)字符串切片>>>print(word[0:3])#截取第1~3個(gè)字符'Pyt'>>>print(word[:3])#截取第1~3個(gè)字符'Pyt'>>>print(word[4:])#截取第5到最后一個(gè)字符'on'對(duì)于沒(méi)有意義的切片索引,Python還可以進(jìn)行如下處理:當(dāng)?shù)?個(gè)索引越界時(shí),將返回從開(kāi)始索引到字符串實(shí)際結(jié)束位置的子串。當(dāng)?shù)?個(gè)索引大于字符串實(shí)際長(zhǎng)度時(shí),將返回空字符串;當(dāng)?shù)?個(gè)索引為負(fù)數(shù)時(shí),將返回空字符串;當(dāng)?shù)?個(gè)索引值大于第2個(gè)索引值時(shí),也將返回空字符串,代碼如下:4.字符串基本操作>>print(word[3:52])#第2個(gè)索引越界'hon'>>>print(word[52:])#第1個(gè)索引大于字符串長(zhǎng)度''>>>print(word[-1:3])#第1個(gè)索引為負(fù)數(shù),第2個(gè)索引正常''>>>print(word[5:3])#第1個(gè)索引值大于第2個(gè)索引值''在Python中,字符串是不可修改的。因此,如果試圖給指定位置的字符重新賦值,那么運(yùn)行將會(huì)出錯(cuò),代碼如下:4.字符串基本操作>>>word[0]='p'#字符串不可修改TypeError:'str'objectdoesnotsupportitemassignment如果要修改字符串,那么較好的辦法是重新創(chuàng)建一個(gè)字符串。如果只需要改變其中的少部分字符,那么可以使用字符串拼接。當(dāng)進(jìn)行字符串拼接時(shí),可以使用加號(hào)(+)將兩個(gè)字符串拼接起來(lái),星號(hào)(*)表示重復(fù)。另外,相鄰的兩個(gè)字符串是會(huì)自動(dòng)拼接在一起的,代碼如下:4.字符串基本操作(3)字符串拼接>>>print('Pythonis'+3*'good')#加號(hào)拼接字符串'Pythonisgoodgoodgood'>>>print('踔厲奮發(fā)''勇毅前行')#相鄰字符串自動(dòng)拼接'踔厲奮發(fā)勇毅前行'將字符串“加快建設(shè)制造強(qiáng)國(guó)”修改為“加快建設(shè)質(zhì)量強(qiáng)國(guó)”,代碼如下:4.字符串基本操作>>>sentence='加快建設(shè)制造強(qiáng)國(guó)'>>>print(sentence[:4]+'質(zhì)量強(qiáng)國(guó)')加快建設(shè)質(zhì)量強(qiáng)國(guó)在Python中可以使用%、format()方法、f-string等方式將指定的字符串轉(zhuǎn)換為特定的格式。常用格式化符號(hào)如下表所示。4.字符串基本操作(4)字符串格式化格式化符號(hào)描

述%c將數(shù)據(jù)格式化為字符%s將數(shù)據(jù)格式化為字符串%d將數(shù)據(jù)格式化為整數(shù)%f將數(shù)據(jù)格式化為浮點(diǎn)數(shù),可指定小數(shù)點(diǎn)后的精度,默認(rèn)保留6位小數(shù)使用%進(jìn)行字符串格式化代碼如下:4.字符串基本操作>>>year=2022>>>print("年份:%d"%year)年份:2022>>>Science='科技成果登記數(shù)'>>>quantity=84324>>>print("%d年,中國(guó)%s為%d項(xiàng)。"%(year,Science,quantity)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論