![2023學(xué)年完整公開課版數(shù)據(jù)類型2_第1頁](http://file4.renrendoc.com/view/e0dc699439c4cb70b81edf385d66ca37/e0dc699439c4cb70b81edf385d66ca371.gif)
![2023學(xué)年完整公開課版數(shù)據(jù)類型2_第2頁](http://file4.renrendoc.com/view/e0dc699439c4cb70b81edf385d66ca37/e0dc699439c4cb70b81edf385d66ca372.gif)
![2023學(xué)年完整公開課版數(shù)據(jù)類型2_第3頁](http://file4.renrendoc.com/view/e0dc699439c4cb70b81edf385d66ca37/e0dc699439c4cb70b81edf385d66ca373.gif)
![2023學(xué)年完整公開課版數(shù)據(jù)類型2_第4頁](http://file4.renrendoc.com/view/e0dc699439c4cb70b81edf385d66ca37/e0dc699439c4cb70b81edf385d66ca374.gif)
![2023學(xué)年完整公開課版數(shù)據(jù)類型2_第5頁](http://file4.renrendoc.com/view/e0dc699439c4cb70b81edf385d66ca37/e0dc699439c4cb70b81edf385d66ca375.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章數(shù)據(jù)類型21.標(biāo)識(shí)符與關(guān)鍵字2.
Integral類型3.浮點(diǎn)類型4.字符串重點(diǎn)目錄31.標(biāo)識(shí)符與關(guān)鍵字
標(biāo)識(shí)符是計(jì)算機(jī)語言中允許作為名字的有效字符串集合。Python標(biāo)識(shí)符字符串規(guī)則和其他大部分用C編寫的高級(jí)語言相似,有以下一些命名規(guī)則。名字必須以字母或者下劃線_開始。數(shù)字不能作為首字符。當(dāng)名字包含多個(gè)單詞時(shí),可以使用下劃線_來連接,例如monty_Python。除了首字符,名稱可以包含任何字母、數(shù)字和下劃線的組合。名字不能是關(guān)鍵字。名字不能出現(xiàn)分隔符、標(biāo)點(diǎn)符號(hào)或者運(yùn)算符。名字長度不限。名字是區(qū)分大小寫的。比如myClass、MyClass、myclass是不同的。41.標(biāo)識(shí)符與關(guān)鍵字關(guān)鍵字在Python中是特殊單詞,不能用來進(jìn)行命名操作。因此,不能使用下表中的這些關(guān)鍵字作為標(biāo)識(shí)符的名稱。51.標(biāo)識(shí)符與關(guān)鍵字
Python標(biāo)識(shí)符還遵循以下一些約定。第一條約定:不要使用Python預(yù)定義的標(biāo)識(shí)符名對(duì)自定義的標(biāo)識(shí)符進(jìn)行命名。第二條約定:應(yīng)該避免名稱開頭和結(jié)尾都使用下劃線(_)。
6目錄1.標(biāo)識(shí)符與關(guān)鍵字2.
Integral類型3.浮點(diǎn)類型4.字符串72.Integral類型2.1整數(shù)類型
在Python中整數(shù)類型被指定為int類型。整數(shù)類型對(duì)應(yīng)于數(shù)學(xué)中的整數(shù)概念??梢詧?zhí)行的算法有+、-、*、/以及一些其他操作。默認(rèn)情況下,整數(shù)采用的是十進(jìn)制,但在方便的時(shí)候也可以使用其他進(jìn)制。>>>126126>>>0b1111110#binary126>>>0o176#octal126>>>0x7e#hexadecimal126
二進(jìn)制數(shù)以0b引導(dǎo),八進(jìn)制數(shù)以0o引導(dǎo),十六進(jìn)制則以0x引導(dǎo)。82.Integral類型2.1整數(shù)類型將一個(gè)整數(shù)變?yōu)槠浒诉M(jìn)制、十六進(jìn)制的數(shù)字字符串-octhex將一個(gè)數(shù)字的字符串變換成一個(gè)整數(shù),第二個(gè)參數(shù)用于指示變換后的數(shù)字的進(jìn)制用字符串格式表達(dá)式轉(zhuǎn)換成八進(jìn)制、十六進(jìn)制的字符串>>>oct(64)'0100'>>>hex(64)'0x40'>>>"%o%x%X"%(64,64,255)'10040FF'>>>int('0100')100>>>int('0100',8)64>>>int('0x40',16)6492.Integral類型2.1整數(shù)類型下表展示了位邏輯操作符。102.Integral類型2.1整數(shù)類型下表展示了位邏輯操作符。112.Integral類型2.2布爾型
所有內(nèi)置的數(shù)據(jù)類型與標(biāo)準(zhǔn)庫提供的數(shù)據(jù)類型都可以轉(zhuǎn)換為一個(gè)布爾型值。Python提供了3個(gè)邏輯操作符:and、or、not。>>>t=True>>>f=False>>>tandfFalse>>>torfTrue>>>nottFalse
習(xí)慣于使用老版本Python的程序員有時(shí)會(huì)使用1與0,而非True與False121.標(biāo)識(shí)符與關(guān)鍵字2.
Integral類型3.浮點(diǎn)類型4.字符串目錄133.浮點(diǎn)類型3.1浮點(diǎn)數(shù)int()函數(shù)可以將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù),返回其整數(shù)部分,舍棄其小數(shù)部分。round()函數(shù)可以將小數(shù)部分四舍五入。math.floor()函數(shù)或math.ceil()函數(shù)可以將浮點(diǎn)數(shù)轉(zhuǎn)換為最近鄰的整數(shù)(floor():僅保留整數(shù)。ceil():將小數(shù)部分一律向整數(shù)部分進(jìn)位)。浮點(diǎn)數(shù)的小數(shù)表示可以使用float.as_integer_ratio()方法獲取,比如,給定浮點(diǎn)數(shù)x=0.25,則調(diào)用float.as_integer_ratio(x)將返回(1,4)。
使用float.hex()方法,可以將浮點(diǎn)數(shù)以十六進(jìn)制形式表示為字符串,相反的轉(zhuǎn)換可以使用float.fromhex()實(shí)現(xiàn)。14>>>n=10>>>((n/3)).is_integer()False>>>x=0.25>>>float.as_integer_ratio(x)(1,4)15>>>s=2.25.hex()>>>f=float.fromhex(s)>>>t=f.hex()>>>s'0x1.2000000000000p+1'>>>f2.25>>>t'0x1.2000000000000p+1'163.浮點(diǎn)類型3.2復(fù)數(shù)
復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分組成,一般形式為x+yj,其中的x是復(fù)數(shù)的實(shí)數(shù)部分,y是復(fù)數(shù)的虛數(shù)部分,這里的x和y都是實(shí)數(shù)。例如2+3j、0.1j、2+0j等。如果實(shí)數(shù)部分為0,就可以忽略。
復(fù)數(shù)的兩個(gè)部分都以屬性名的形式存在,分別為real與imag。>>>z=-3.2+5.4j>>>z.real,z.imag(-3.2,5.4)173.浮點(diǎn)類型3.3十進(jìn)制數(shù)字
Decimal模塊可以提供固定的十進(jìn)制數(shù),其精度可以由我們自己指定。要?jiǎng)?chuàng)建Decimal,必須先導(dǎo)入decimal模塊。
>>>importdecimal>>>a=decimal.Decimal(1234)>>>b=decimal.Decimal("234.321")>>>a+bDecimal('1468.321')18目錄1.標(biāo)識(shí)符與關(guān)鍵字2.
Integral類型3.浮點(diǎn)類型4.字符串重點(diǎn)194.字符串4.1字符串的類型字符串是字符的序列。C語言中用字符數(shù)組表示,如charstr[20]=“hello”。Python中的字符串可以如下表示:使用單引號(hào)(‘):可以用單引號(hào)指示字符串,就如同’Quotemeonthis‘這樣。所有的空白,即空格和制表符都照原樣保留。使用雙引號(hào)(“):在雙引號(hào)中的字符串與單引號(hào)中的字符串的使用完全相同,例如”What‘syourname?“。204.字符串4.1字符串的類型
有一種特殊的字符串,用三重引號(hào)表示,可以保留所有字符串的格式信息,如果字符串跨越多行,行與行之間的回車符也可以保存下來,引號(hào)、制表符或者其他任何信息都可以保存下來。利用這種方式,可以將整個(gè)段落作為單個(gè)字符保存下來進(jìn)行處理。>>>longString='''lifeisasong,singtheliferhythmandmelody;Lifeisaroad,extendthefootprintofthelifeandhope.'‘>>>longString'lifeisasong,singtheliferhythmandmelody;\nLifeisaroad,extendthefootprintofthelifeandhope.'214.字符串4.2字符串的比較1.單字符字符串的比較
比較兩個(gè)單字符字符串是否相同,使用“==”運(yùn)算符,如果兩個(gè)字符是相同的,則該表達(dá)式返回真,若不同,則返回假。進(jìn)行比較時(shí),Python使用的是字符串的內(nèi)存字節(jié)表示,此時(shí)的排序是基于Unicode字元的,函數(shù)ord和chr可以幫助查找字符與字符對(duì)應(yīng)的ASCII碼表中整數(shù)的關(guān)系,其中ord()函數(shù)是chr()函數(shù)(對(duì)于8位的ASCII字符串)的配對(duì)函數(shù),它以一個(gè)字符作為參數(shù),返回對(duì)應(yīng)的ASCII數(shù)值。兩個(gè)單字符之間的比較都會(huì)轉(zhuǎn)化為對(duì)應(yīng)的ASCII值之間的關(guān)系。例如:'a'<'b','a'>'A','0'<'1'。224.字符串4.2字符串的比較2.多字符字符串的比較(1)從兩個(gè)字符串中索引為0的位置開始比較。(2)比較位于當(dāng)前位置的兩個(gè)單字符。如果兩個(gè)字符相等,則兩個(gè)字符串的當(dāng)前索引加1,回到步驟(2)開始;如果兩個(gè)字符不相等,返回這兩個(gè)字符的比較結(jié)果,作為字符串比較的結(jié)果。(3)如果兩個(gè)字符串到一個(gè)字符串結(jié)束時(shí)都相等,那么較長的字符串更大,如下所示。>>>'ab'<'abc'True>>>'ab'<'ac'True>>>''<'a'True234.字符串4.3字符串的方法Python語言具有一種強(qiáng)大的功能,即可以鏈接方法和函數(shù)。使用一系列的“點(diǎn)標(biāo)記”來實(shí)現(xiàn)鏈接。如'HELLO'.lower().find('e'),find方法可以在一個(gè)較長的字符串中查找子字符串,它返回子串所在位置的最左端索引,如果沒有找到則返回-1。鏈?zhǔn)秸{(diào)用意義在于:從一個(gè)方法返回的對(duì)象可以作為另一種方法的主調(diào)對(duì)象。>>>myString='HELLO'>>>myString.lower()'hello'>>>myString.lower().find('e')1244.字符串4.3字符串的方法1.子串查找find()find()方法:查找子字符串,若找到返回從0開始的下標(biāo)值,若找不到返回-1。格式:s.find(sub[,start][,end])>>>s='apple,peach,banana,peach,pear'>>>s.find('peach')6>>>s.find('peach',7)19>>>s.find('peach',7,20)-1254.字符串4.3字符串的方法2.字符串的分離split()split()就是將一個(gè)字符串分裂成多個(gè)字符串組成的列表。當(dāng)不帶參數(shù)時(shí)以空格進(jìn)行分割,當(dāng)帶參數(shù)時(shí),以該參數(shù)進(jìn)行分割。
>>>s='apple,peach,banana,pear'>>>li=s.split(',')>>>li['apple','peach','banana','pear']Python字符串的方法還有很多264.字符串4.4字符串格式化Python可以用%操作符編寫格式化的字符串格式化字符串:1、在%操作符左側(cè)放置一個(gè)需要進(jìn)行格式化的字符串,這個(gè)字符串帶有一個(gè)或多個(gè)嵌入的轉(zhuǎn)換目標(biāo),都以%開頭,如%d、%f等2、在%操作符右側(cè)放置一個(gè)對(duì)象(或多個(gè),在括號(hào)內(nèi)),這些對(duì)象會(huì)被插入到左側(cè)格式化字符串的轉(zhuǎn)換目標(biāo)的位置上>>>bookcount=10>>>"thereare%dbooks"%bookcount'thereare10books'274.字符串4.4字符串格式化>>>"%d%s%dyou"%(1,'spam',4)'1spam4you‘>>>"%s--%s--%s"%(42,3.1415926,[1,2,3])'42--3.1415926--[1,2,3]'左側(cè)的目標(biāo)位置都要求是%s(字符串),這就表示要將右邊的對(duì)象都轉(zhuǎn)換為字符串另外要注意的是,格式化總會(huì)返回新的字符串作為結(jié)果,而不是對(duì)左側(cè)的字符串進(jìn)行修改,由于字符串是不可變的;因此,如果需要的話,可以分配一個(gè)變量名來保持結(jié)果284.字符串4.5字符串操作1.字符索引
字符串對(duì)象定義為字符序列,字符在字符串中的位置稱為“索引”,在Python和其他程序語言中,序列中索引的第一個(gè)值為0,使用索引運(yùn)算符“[]”查看字符串序列中的單個(gè)字符。294.字符串4.5字符串操作2.連接符和操作符+:連接符。+運(yùn)算符需要兩個(gè)字符串對(duì)象,連接起來得到一個(gè)新的字符串對(duì)象。*:重復(fù)符。*運(yùn)算符需要一個(gè)字符串對(duì)象和一個(gè)整數(shù),新的字符串由原字符串復(fù)制而成,復(fù)制的次數(shù)為給出的整數(shù)值。
>>>mystr="Hello">>>yourstr="Python">>>mystr+yourstr'HelloPython'>>>mystr*3'HelloHelloHello'>>>3*mystr'HelloHelloHello'>>>mystr'Hello'304.字符串4.5字符串操作2.連接符和操作符+運(yùn)算符和*運(yùn)算符都產(chǎn)生了新的字符串對(duì)象,但都不會(huì)影響表達(dá)式中的字符串。執(zhí)行連接操作時(shí),除非明確指出,否則在第一個(gè)字符串的末尾和第二個(gè)字符串開頭位置之間沒有空格。執(zhí)行連接操作時(shí),兩個(gè)字符串對(duì)象的順序是,第一個(gè)字符串顯示在新的字符串對(duì)象的開始,第二個(gè)字符串在第一個(gè)字符串結(jié)束時(shí)開始。若更改順序,則新的字符串對(duì)象中的順序也發(fā)生改變。每個(gè)運(yùn)算符所需要的操作對(duì)象的類型是特定的。對(duì)于連接操作,需要兩個(gè)字符串對(duì)象。而復(fù)制操作,只需要一個(gè)字符串和一個(gè)整數(shù),其他任何類型的組合都不能正常運(yùn)行。
314.字符串4.5字符串操作3.in運(yùn)算符in運(yùn)算符用于檢查集合的成員,當(dāng)測(cè)試字符串包含在字符串時(shí),結(jié)果返回True,否則返回False。>>>mystr="abcd">>>'a'inmystrTrue>>>'e'inmystrFalse
324.字符串4.5字符串操作4.不可變性字符串是一種集合,可以進(jìn)行下述操作:創(chuàng)建字符串、更換字符串中的某個(gè)特定字符。>>>strings='hello'>>>strings[0]='a'Traceback(mostrecentcalllast):File"<pyshell#1>",line1,in<module>strings[0]='a'TypeError:'str'objectdoesnotsupportitemassign
334.字符串4.5字符串操作4.不可變性
對(duì)象一旦創(chuàng)建,其內(nèi)容就不能再修改。不能通過對(duì)其某一位置進(jìn)行賦值而改變字符串,但是可以通過建立一個(gè)新的字符串并以同一個(gè)變量名對(duì)其進(jìn)行賦值。
>>>strings='hello'>>>strings='s'+strings[1:]>>>strings'sello'
344.字符串4.6字符串與控制語句
Python中的控制語句主要有條件判斷if、while、for語句,還有與之搭配的else、elif、break、continue、pass語句。
結(jié)合字符串長度和range函數(shù),顯示出所有單詞中每個(gè)字符的索引。
>>>aString="information">>>len(aString)11>>>forxinrange(len(aString)): print(x,end=") 012345678910>>>forxinrange(len(aString)): print(aString[x],end=") information354.字符串4.6字符串與控制語句
字符串中的每個(gè)索引及與該索引相關(guān)的字符都可以通過for語句查詢出來。通過舉例,檢查字符串中的每個(gè)字符,看它是否與目標(biāo)字符相匹配。如果匹配,則顯示索引值,跳出循環(huán)。aString='information'target=input('inputacharactertofind:')forxinrange(len(aString)):ifaString[x]==target:print("%sisfound"%target)breakelse:print("targetisnotfound")inputacharactertofind:mmisfound364.字符串4.6字符串與控制語句
由于經(jīng)常需要查找索引和字符,因此Python提供了enumerate迭代器,實(shí)現(xiàn)查找字符對(duì)應(yīng)的索引和字符本身的功能。>>>forindex,xinenumerate(aString): print(index,x) 0i1n2f3o4r5m6a7t8i9o10n374.字符串4.7字符串的應(yīng)用1.紀(jì)錄人名
將一個(gè)名字從“名,中間名,姓”的順序變?yōu)椤靶眨?,中間名”的格式。例如'JohnM.Cleese'將變成'Cleese,JohnM'。>>>name='JohnM.Cleese'>>>first,middle,last=name.split()>>>trans=last+','+first+''+middle>>>print(trans)Cleese,JohnM>>>print(name)JohnM.Cleese
384.字符串4.7字符串的應(yīng)用2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 稽核人員上崗考試復(fù)習(xí)試題含答案
- 小程序服務(wù)合同范本
- 2025年度酒店布草洗滌與客戶忠誠度提升服務(wù)協(xié)議
- 員工服務(wù)期合同范本
- 兼職會(huì)計(jì)勞務(wù)合同范本
- 2025年中國口腔綜合治療設(shè)備行業(yè)發(fā)展監(jiān)測(cè)及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 個(gè)人違約合同范本
- 光伏承包安裝合同范本
- 2025年中國中老年女裝市場(chǎng)現(xiàn)狀深度調(diào)研與發(fā)展趨勢(shì)分析報(bào)告
- 2025年坐椅金屬托盤行業(yè)深度研究分析報(bào)告
- 《初三開學(xué)第一課 中考動(dòng)員會(huì) 中考沖刺班會(huì)》課件
- 護(hù)理干預(yù)在慢性病管理中的作用
- 慢性萎縮性胃炎的護(hù)理查房
- 住院醫(yī)師規(guī)范化培訓(xùn)臨床實(shí)踐能力結(jié)業(yè)??萍寄芸己耍ㄈ漆t(yī)學(xué)科)婦科檢查及分泌物留取
- 加強(qiáng)網(wǎng)絡(luò)空間治理工作的調(diào)研與思考
- 產(chǎn)后修復(fù)學(xué)習(xí)培訓(xùn)課件
- mysql課件第五章數(shù)據(jù)查詢
- 超濾培訓(xùn)課件
- 《冠心病的介入治療》課件
- 中醫(yī)防感冒健康知識(shí)講座
- 熱線電話管理制度
評(píng)論
0/150
提交評(píng)論