版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章數(shù)據(jù)類型21.標(biāo)識符與關(guān)鍵字2.
Integral類型3.浮點類型4.字符串重點目錄31.標(biāo)識符與關(guān)鍵字
標(biāo)識符是計算機(jī)語言中允許作為名字的有效字符串集合。Python標(biāo)識符字符串規(guī)則和其他大部分用C編寫的高級語言相似,有以下一些命名規(guī)則。名字必須以字母或者下劃線_開始。數(shù)字不能作為首字符。當(dāng)名字包含多個單詞時,可以使用下劃線_來連接,例如monty_Python。除了首字符,名稱可以包含任何字母、數(shù)字和下劃線的組合。名字不能是關(guān)鍵字。名字不能出現(xiàn)分隔符、標(biāo)點符號或者運算符。名字長度不限。名字是區(qū)分大小寫的。比如myClass、MyClass、myclass是不同的。41.標(biāo)識符與關(guān)鍵字關(guān)鍵字在Python中是特殊單詞,不能用來進(jìn)行命名操作。因此,不能使用下表中的這些關(guān)鍵字作為標(biāo)識符的名稱。51.標(biāo)識符與關(guān)鍵字
Python標(biāo)識符還遵循以下一些約定。第一條約定:不要使用Python預(yù)定義的標(biāo)識符名對自定義的標(biāo)識符進(jìn)行命名。第二條約定:應(yīng)該避免名稱開頭和結(jié)尾都使用下劃線(_)。
6目錄1.標(biāo)識符與關(guān)鍵字2.
Integral類型3.浮點類型4.字符串72.Integral類型2.1整數(shù)類型
在Python中整數(shù)類型被指定為int類型。整數(shù)類型對應(yīng)于數(shù)學(xué)中的整數(shù)概念。可以執(zhí)行的算法有+、-、*、/以及一些其他操作。默認(rèn)情況下,整數(shù)采用的是十進(jìn)制,但在方便的時候也可以使用其他進(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ù)類型將一個整數(shù)變?yōu)槠浒诉M(jìn)制、十六進(jìn)制的數(shù)字字符串-octhex將一個數(shù)字的字符串變換成一個整數(shù),第二個參數(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)換為一個布爾型值。Python提供了3個邏輯操作符:and、or、not。>>>t=True>>>f=False>>>tandfFalse>>>torfTrue>>>nottFalse
習(xí)慣于使用老版本Python的程序員有時會使用1與0,而非True與False121.標(biāo)識符與關(guān)鍵字2.
Integral類型3.浮點類型4.字符串目錄133.浮點類型3.1浮點數(shù)int()函數(shù)可以將浮點數(shù)轉(zhuǎn)換為整數(shù),返回其整數(shù)部分,舍棄其小數(shù)部分。round()函數(shù)可以將小數(shù)部分四舍五入。math.floor()函數(shù)或math.ceil()函數(shù)可以將浮點數(shù)轉(zhuǎn)換為最近鄰的整數(shù)(floor():僅保留整數(shù)。ceil():將小數(shù)部分一律向整數(shù)部分進(jìn)位)。浮點數(shù)的小數(shù)表示可以使用float.as_integer_ratio()方法獲取,比如,給定浮點數(shù)x=0.25,則調(diào)用float.as_integer_ratio(x)將返回(1,4)。
使用float.hex()方法,可以將浮點數(shù)以十六進(jìn)制形式表示為字符串,相反的轉(zhuǎn)換可以使用float.fromhex()實現(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.浮點類型3.2復(fù)數(shù)
復(fù)數(shù)由實數(shù)部分和虛數(shù)部分組成,一般形式為x+yj,其中的x是復(fù)數(shù)的實數(shù)部分,y是復(fù)數(shù)的虛數(shù)部分,這里的x和y都是實數(shù)。例如2+3j、0.1j、2+0j等。如果實數(shù)部分為0,就可以忽略。
復(fù)數(shù)的兩個部分都以屬性名的形式存在,分別為real與imag。>>>z=-3.2+5.4j>>>z.real,z.imag(-3.2,5.4)173.浮點類型3.3十進(jìn)制數(shù)字
Decimal模塊可以提供固定的十進(jìn)制數(shù),其精度可以由我們自己指定。要創(chuàng)建Decimal,必須先導(dǎo)入decimal模塊。
>>>importdecimal>>>a=decimal.Decimal(1234)>>>b=decimal.Decimal("234.321")>>>a+bDecimal('1468.321')18目錄1.標(biāo)識符與關(guān)鍵字2.
Integral類型3.浮點類型4.字符串重點194.字符串4.1字符串的類型字符串是字符的序列。C語言中用字符數(shù)組表示,如charstr[20]=“hello”。Python中的字符串可以如下表示:使用單引號(‘):可以用單引號指示字符串,就如同’Quotemeonthis‘這樣。所有的空白,即空格和制表符都照原樣保留。使用雙引號(“):在雙引號中的字符串與單引號中的字符串的使用完全相同,例如”What‘syourname?“。204.字符串4.1字符串的類型
有一種特殊的字符串,用三重引號表示,可以保留所有字符串的格式信息,如果字符串跨越多行,行與行之間的回車符也可以保存下來,引號、制表符或者其他任何信息都可以保存下來。利用這種方式,可以將整個段落作為單個字符保存下來進(jìn)行處理。>>>longString='''lifeisasong,singtheliferhythmandmelody;Lifeisaroad,extendthefootprintofthelifeandhope.'‘>>>longString'lifeisasong,singtheliferhythmandmelody;\nLifeisaroad,extendthefootprintofthelifeandhope.'214.字符串4.2字符串的比較1.單字符字符串的比較
比較兩個單字符字符串是否相同,使用“==”運算符,如果兩個字符是相同的,則該表達(dá)式返回真,若不同,則返回假。進(jìn)行比較時,Python使用的是字符串的內(nèi)存字節(jié)表示,此時的排序是基于Unicode字元的,函數(shù)ord和chr可以幫助查找字符與字符對應(yīng)的ASCII碼表中整數(shù)的關(guān)系,其中ord()函數(shù)是chr()函數(shù)(對于8位的ASCII字符串)的配對函數(shù),它以一個字符作為參數(shù),返回對應(yīng)的ASCII數(shù)值。兩個單字符之間的比較都會轉(zhuǎn)化為對應(yīng)的ASCII值之間的關(guān)系。例如:'a'<'b','a'>'A','0'<'1'。224.字符串4.2字符串的比較2.多字符字符串的比較(1)從兩個字符串中索引為0的位置開始比較。(2)比較位于當(dāng)前位置的兩個單字符。如果兩個字符相等,則兩個字符串的當(dāng)前索引加1,回到步驟(2)開始;如果兩個字符不相等,返回這兩個字符的比較結(jié)果,作為字符串比較的結(jié)果。(3)如果兩個字符串到一個字符串結(jié)束時都相等,那么較長的字符串更大,如下所示。>>>'ab'<'abc'True>>>'ab'<'ac'True>>>''<'a'True234.字符串4.3字符串的方法Python語言具有一種強(qiáng)大的功能,即可以鏈接方法和函數(shù)。使用一系列的“點標(biāo)記”來實現(xiàn)鏈接。如'HELLO'.lower().find('e'),find方法可以在一個較長的字符串中查找子字符串,它返回子串所在位置的最左端索引,如果沒有找到則返回-1。鏈?zhǔn)秸{(diào)用意義在于:從一個方法返回的對象可以作為另一種方法的主調(diào)對象。>>>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()就是將一個字符串分裂成多個字符串組成的列表。當(dāng)不帶參數(shù)時以空格進(jìn)行分割,當(dāng)帶參數(shù)時,以該參數(shù)進(jìn)行分割。
>>>s='apple,peach,banana,pear'>>>li=s.split(',')>>>li['apple','peach','banana','pear']Python字符串的方法還有很多264.字符串4.4字符串格式化Python可以用%操作符編寫格式化的字符串格式化字符串:1、在%操作符左側(cè)放置一個需要進(jìn)行格式化的字符串,這個字符串帶有一個或多個嵌入的轉(zhuǎn)換目標(biāo),都以%開頭,如%d、%f等2、在%操作符右側(cè)放置一個對象(或多個,在括號內(nèi)),這些對象會被插入到左側(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(字符串),這就表示要將右邊的對象都轉(zhuǎn)換為字符串另外要注意的是,格式化總會返回新的字符串作為結(jié)果,而不是對左側(cè)的字符串進(jìn)行修改,由于字符串是不可變的;因此,如果需要的話,可以分配一個變量名來保持結(jié)果284.字符串4.5字符串操作1.字符索引
字符串對象定義為字符序列,字符在字符串中的位置稱為“索引”,在Python和其他程序語言中,序列中索引的第一個值為0,使用索引運算符“[]”查看字符串序列中的單個字符。294.字符串4.5字符串操作2.連接符和操作符+:連接符。+運算符需要兩個字符串對象,連接起來得到一個新的字符串對象。*:重復(fù)符。*運算符需要一個字符串對象和一個整數(shù),新的字符串由原字符串復(fù)制而成,復(fù)制的次數(shù)為給出的整數(shù)值。
>>>mystr="Hello">>>yourstr="Python">>>mystr+yourstr'HelloPython'>>>mystr*3'HelloHelloHello'>>>3*mystr'HelloHelloHello'>>>mystr'Hello'304.字符串4.5字符串操作2.連接符和操作符+運算符和*運算符都產(chǎn)生了新的字符串對象,但都不會影響表達(dá)式中的字符串。執(zhí)行連接操作時,除非明確指出,否則在第一個字符串的末尾和第二個字符串開頭位置之間沒有空格。執(zhí)行連接操作時,兩個字符串對象的順序是,第一個字符串顯示在新的字符串對象的開始,第二個字符串在第一個字符串結(jié)束時開始。若更改順序,則新的字符串對象中的順序也發(fā)生改變。每個運算符所需要的操作對象的類型是特定的。對于連接操作,需要兩個字符串對象。而復(fù)制操作,只需要一個字符串和一個整數(shù),其他任何類型的組合都不能正常運行。
314.字符串4.5字符串操作3.in運算符in運算符用于檢查集合的成員,當(dāng)測試字符串包含在字符串時,結(jié)果返回True,否則返回False。>>>mystr="abcd">>>'a'inmystrTrue>>>'e'inmystrFalse
324.字符串4.5字符串操作4.不可變性字符串是一種集合,可以進(jìn)行下述操作:創(chuàng)建字符串、更換字符串中的某個特定字符。>>>strings='hello'>>>strings[0]='a'Traceback(mostrecentcalllast):File"<pyshell#1>",line1,in<module>strings[0]='a'TypeError:'str'objectdoesnotsupportitemassign
334.字符串4.5字符串操作4.不可變性
對象一旦創(chuàng)建,其內(nèi)容就不能再修改。不能通過對其某一位置進(jìn)行賦值而改變字符串,但是可以通過建立一個新的字符串并以同一個變量名對其進(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ù),顯示出所有單詞中每個字符的索引。
>>>aString="information">>>len(aString)11>>>forxinrange(len(aString)): print(x,end=") 012345678910>>>forxinrange(len(aString)): print(aString[x],end=") information354.字符串4.6字符串與控制語句
字符串中的每個索引及與該索引相關(guān)的字符都可以通過for語句查詢出來。通過舉例,檢查字符串中的每個字符,看它是否與目標(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迭代器,實現(xiàn)查找字符對應(yīng)的索引和字符本身的功能。>>>forindex,xinenumerate(aString): print(index,x) 0i1n2f3o4r5m6a7t8i9o10n374.字符串4.7字符串的應(yīng)用1.紀(jì)錄人名
將一個名字從“名,中間名,姓”的順序變?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等.壓縮文件請下載最新的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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物業(yè)管理改善協(xié)議3篇
- 小班音樂教案錦集10篇
- 雙十一營銷活動方案大全10篇
- 醫(yī)院護(hù)士演講稿(合集15篇)
- 軍訓(xùn)心得高一范文5篇
- 邀請活動的邀請函八篇
- 感恩中學(xué)生演講稿三篇
- 會計的實習(xí)報告三篇
- 乒乓球比賽的作文400字合集7篇
- 保護(hù)水資源倡議書15篇
- 七年級上冊數(shù)學(xué)壓軸題幾何試卷(帶答案)
- 網(wǎng)絡(luò)安全保密教育知識普及培訓(xùn)課件
- 小學(xué)語文-部編版四年級語文上冊第六單元習(xí)作:記一次游戲教學(xué)設(shè)計學(xué)情分析教材分析課后反思
- 裝飾公司與項目經(jīng)理合作協(xié)議
- 接待上級領(lǐng)導(dǎo)工作總結(jié)
- 《新時代高校勞動教育理論與實踐教程》教案 第9課 強(qiáng)化勞動安全意識
- 小學(xué)數(shù)學(xué)項目化教學(xué)這:基于教學(xué)評一體化的大單元整體設(shè)計《測量》
- ACC-AHA-HRSICD治療適應(yīng)證指南
- 共享單車電動車加盟城市代理協(xié)議模板
- 2024年上海市交大附中嘉定高二物理第一學(xué)期期末達(dá)標(biāo)檢測試題含解析
- 新版《電力設(shè)備典型消防規(guī)程》
評論
0/150
提交評論