




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章Python語法基礎
Python程序組成Python程序由一個或多個模塊(后綴為.py的源文件等)組成。模塊包含語句,語句是Python程序的基本構成元素。語句通常包含表達式,表達式由操作數和運算符構成,用于創建和處理對象。
例2.1已知兩條直角邊,求三角形周長。2Python語言編碼規范標識符命名:由字母、數字、下劃線、漢字等字符組成。不能使用系統關鍵字,首字母不能用數字,區分大小寫。選取的名稱應該能夠清楚地說明該變量、函數、類、模塊等所包含的意義。代碼縮進:一種是采用制表符(Tab鍵),另一種是采用若干個空格。a=0if
a<1:a=33語句分隔:一般一條語句一行。如果在一行中要書寫多條語句,就必須使用分號進行分隔。 x=3;y=4一條語句分多行書寫,需要使用反斜杠(\)添加到行末來續行。 print("C1center:%sraidus:%s"%\ (c1.getCenterPosition(),cl.getRadius()))注釋:單行:#多行:三引號4Python基本數據類型1數值類型Python數值類型用于存儲數值。整型(int):通常被稱為是整型或整數,是正或負整數,不帶小數點。浮點型(float):浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.78e2就是2.78x102=278)在混合計算時,Python會把整型轉換成為浮點數。復數(complex):復數由實數部分和虛數部分構成,可以用a+bj,或者complex(a,b)表示,復數的虛部以字母j或J結尾。如:2+3j。52.字符串型Python使用單引號、雙引號、三引號來表示字符串。(字符串常量)Python中的字符串常量值不能改變。需要在字符中使用特殊字符時,Python用反斜杠(\)轉義字符63.
布爾類型布爾類型只有True和False兩種值。在Python中,布爾類型還可以與其他數據類型做and、or和not運算,這時下面的幾種情況會被認為是FALSE:為0的數字,包括0,0.0;空字符串‘’,“”;表示空值的None;空集合,包括空元組(),空序列[],空字典{};其他的值都為TRUE。例如:a='python'print(aandTrue)#結果是Trueb=''print(borFalse)#結果是False7在Python中,邏輯值True和False作為數值,則分別是整型值1和0參與運算。例如:>>>x=False>>>a=x+(5>4)#結果a是1>>>b=x+5#結果b是54.空值
空值是Python里一個特殊的值,用None表示。它不支持任何運算也沒有任何內置函數方法。None和任何其他的數據類型比較永遠返回False。在Python中未指定返回值的函數會自動返回None。8常量和變量常量就是值不能變的量,比如常用的數學常數π就是一個常量。在Python中,通常用大寫字母命名常量,如:PI=3量變量在程序運行中,值可以發生變化。變量使用前需要命名。變量名必須是英文字母、數字和_的組合,且不能用數字開頭,比如:a,a123,a_9,_abc,123a(錯誤)在Python中,可以把任意數據類型賦值給變量,同一個變量可以反復賦值,而且可以是不同類型的變量,例如:a=123 #a是整數
注:此處等號=是賦值a='ABC' #a變為字符串9運算符與表達式Python語言支持運算符有以下幾種類型。?算術運算符?比較(即關系)運算符?賦值運算符?邏輯運算符?位運算符?成員操作符?標識操作符10運算符與表達式1.算術運算符算術運算符實現數學運算,Python語言算術運算符如表2-5所示。假設其中變量a=10和變量b=20。112.關系運算符關系運算符用于兩個值進行比較,運算結果為True(真)或False(假)。Python中的關系運算符如表2-6所示。假設其中變量a=10和變量b=20。123.邏輯運算符Python中提供了三種邏輯運算符,它們是:and(邏輯與,二元運算符)or(邏輯或,二元運算符)not(邏輯非,一元運算符)134.賦值運算符1)賦值:變量=表達式2)復合賦值:+=,-=,*=,/=,//=,%=,**=等 x+=5等價于x=x+53)多變量賦值鏈式賦值:變量1=變量2=……=變量n=表達式
例如:a=b=c=1
同步賦值:變量1,變量2,……,變量n=表達式1,表達式2,……,表達式n
例如:a,b,c=1,2,"runoob"
特別注意:同步賦值可以實現交換:a,b=b,a14
5.位運算符
位(bit)是計算機中表示信息的最小單位,位運算符作用于位和位操作。Python中位運算符如下:按位與(&)、按位或(|)、按位異或(^)、按位求反(~)、左移(<<)、右移(>>)。位運算符是對其操作數按其二進制形式逐位進行運算。a= 00111100b= 00001101a&b= 00001100a|b= 00111101a^b= 00110001~a= 11000011156.Python成員運算Python成員運算符判斷序列中是否有某個成員。成員運算符如表2-9所示。167.Python標識運算符標識符比較兩個對象的內存位置。
17表達式表達式是一個或多個運算的組合。Python語言的表達式與其他語言的表達式沒有顯著的區別。每個符合Python語言規則的表達式的計算都是一個確定的值。對于常量、變量的運算和對于函數的調用都可以構成表達式。在后續章節中介紹的序列、函數、對象都可以成為表達式一部分。18運算符優先級在一個表達式中出現多種運算時,將按照預先確定的順序計算并解析各個部分,這個順序稱為運算符優先級。19內置函數函數就是程序中一段包裝起來的具有特定功能的代碼。內置函數(也稱內建函數)指的是不需要導入任何模塊即可直接使用的函數。函數通過函數名和參數列表進行調用,通過返回值向外部返回結果。類型轉換函數:chr(97)ord(‘a’)str(3.15)int(3.3)數學運算函數:abs(x)max(3,2,5,1)pow(x,y)eval函數eval(expression),接收運行一個字符串表達式,返回表達式的結果值。使用方法:(1)簡單的計算用法 例:eval("2+3"),運行結果為5(2)與其它函數結合使用,比如結合input函數使用。 例:m=eval(input(“”)),可以將用input函數輸入的字符串轉為對應的數據類型。20模塊與函數Python使用模塊將代碼封裝起來。除了Python的內置函數之外,Python標準庫所提供的函數均被封裝在各個模塊中。要調用模塊中的函數(非內置函數),需要在代碼頂部使用import語句導入該模塊。(1)import模塊名(2)from模塊名import函數名/*math模塊random模塊21標準輸入/輸出1.標準輸入
input([提示字符串])2.標準輸出
(1)print(表達式)(2)print([輸出項1,輸出項2,……,輸出項n)][,sep=分隔符][,end=結束符])223.格式化輸出(簡單介紹,詳細信息請參考教材相應內容)
(1)利用字符中格式化運算符%print(‘這個商品的價格是¥%.2f’%7.8)保留2位小數
(2)利用format()內置函數
print(format(15,“x”)),十六進制輸出
print(format(65,“c”)),輸出字符
print(format(3.145,“f”))輸出浮點數
(3)利用字符串的format()方法
print(‘{0:.2f},{1}’.format(3.145,500)),第0個數保留2位小數,第1個數格式不變3.15,50023Python字符串字符串是一個字符序列。在Python中,字符串常量是用單引號、雙引號或三引號括起來的若干個字符,字符串變量是用來存放字符串常量的變量。字符串數據中的字符可以是計算機系統中允許使用的任何字符。字符串數據在應用中是大量存在的,例如統計一篇英文文章中不同英文字母出現的次數、按姓名排序、查找關鍵字等。下面介紹幾個字符串相關操作和方法。24字符串操作1.字符串長度使用len()函數,可以確定字符串包含的字符個數,即字符串的長度。例如:>>>len("Hello")5>>>len("中國")2252.字符串連接操作(1)基本連接操作s1+s2(2)重復連接操作s*n或n*s例:
s1+s2+…+sn
其中,s1,s2,…sn,均是一個字符串,表達式的值也是一個字符串。
例如: >>>"Sub"+"String" 'SubString’ >>>'ABCD’*2 'ABCDABCD'263.字符串的索引為了實現索引,需要對字符串中的字符進行編號,最左邊字符的編號為0,最右邊字符的編號比字符串的長度小1。Python還支持在字符串中使用負數從右向左進行編號,最右邊的字符(即倒數第1個字符)的編號為-1,字符串變量名后接用中括號括起來的編號即可實現字符串的索引。例如:>>>s="Hello">>>print(s[0],s[-4])He274.字符串的分片字符串的分片(或切片)就是從給定的字符串中分離出部分字符,這時可以使用以下形式的字符串索引編號。
i:j:k其中,i是索引起始位置,j是索引結束位置但不包括位置上的字符,索引編號每次增加的步長為k。例如:>>>s="HelloWorld!">>>print(s[0:5:2])Hlo28例利用字符串分片方法將一個字符串中的字符按逆序打印出來。程序如下:s1=input("pleaseenterastring:")s2=s1[::-1]print(s2)程序輸出結果如下:pleaseenterastring:ABCDEFFEDCBA295.字符串邏輯操作字符串的邏輯操作是指字符串參與邏輯比較,其操作的結果是一個邏輯量,通常用于表達字符處理的條件。(1)關系操作(比較)(2)成員關系操作字符串的成員關系操作包括in和notin操作,一般格式為:字符串1[not]in字符串2該操作用于判斷字符串1是否屬于字符串2,其返回值為True或False。例如:>>>"SHANGHAI"<"SHANKONG"True#因為第5個字符“G”小于“K”,所以前一字符串小于后一字符串。>>>'a'in'abc'#True>>>'a'notin'abc'#False30字符串方法方法(method)和前面提到的函數(function)類似,都是由若干語句組成的可完成一定功能的程序段。函數是面向過程程序設計的概念,方法是面向對象程序設計的概念。方法本質上也是函數,但方法要依附于對象。函數可以通過函數名直接調用,如ord('A'),而方法則要通過對象名和方法名組合來調用,一般形式為:對象名.方法名(參數)。在Python中,一個具體的字符串可以看成一個對象。字符串對象是不可改變的,也就是說在Python創建一個字符串后,不能改變這個字符串中的某一部分。使用任何字符串方法改變字符串后,都會返回一個新的字符串,原字符串并沒有變化。如:對于字符串"ab","ab".upper()的運算結果是"AB",但原字符串"ab"并不改變。31假設s是一個字符串。其方法的引用形式:s.方法名([參數])(1)字母大小寫轉換s.upper():全部轉換為大字字母。s.lower():全部轉換為小寫字母。s.swapcase():字母大小寫互換。s.capitalize():句子首字母大寫,其余小寫。s.title():單詞首字母大寫。32例
字母大小寫轉換函數使用示例。s='PythonProgram'print(s.lower())#變小寫pythonprogramprint(s.upper())#變大寫PYTHONPROGRAMprint(s.swapcase())#大小寫互換pYTHONpROGRAMprint(s.capitalize())#句子開始字母大寫Pythonprogram#下條語句中使用了格式化輸出,功能是單詞首字母大寫print('{:s}title={:s}'.format(s,s.title()))#結果PythonProgramtitle=PythonProgram33假設s是一個字符串。其方法的引用形式:s.方法名([參數])(2)字符串搜索①s.find(substr,[start,[end]]):返回s中出現substr的第1個字符的編號,如果s中沒有substr則返回-1。start和end作用就相當于在s[start:end]中搜索。②s.index(substr,[start,[end]]):與find()相同,只是在s中沒有substr時,會返回一個運行錯誤。③s.rfind(substr,[start,[end]]):返回s中最后出現的substr的第1個字符的編號,如果s中沒有substr則返回-1,也就是說從右邊算起的第1次出現的substr的首字符編號。④s.rindex(substr,[start,[end]]):與rfind()相同,只是在s中沒有substr時,會返回一個運行時錯誤。⑤s.count(substr,[start,[end]]):計算substr在s中出現的次數。⑥s.startswith(prefix,[start,[end]]):是否以prefix開頭,若是返回True,否則返回False。⑦s.endswith(suffix,[start[end]]):以suffix結尾,若是返回True,否則返回False。34例
字符串搜索函數使用示例。程序如下:s='PythonProgram'print('{:s}findnono={:d}'.format(s,s.find('nono')))print('{:s}findt={:d}'.format(s,s.find('t')))print('{:s}findtfrom{:d}={:d}'.format(s,1,s.find('t',1)))print('{:s}findtfrom{:d}to{:d}={:d}'.format(s,1,2,s.find('t',1,2)))print('{:s}rfindt={:d}'.format(s,s.rfind('t')))print('{:s}countt={:d}'.format(s,s.count('t')))35(3)字符串替換
s.replace(oldstr,newstr,[count]):把s中的oldster替換為newstr,count為替換次數。這是替換的通用形式,還有一些函數進行特殊字符的替換。s.strip([chars]):把s中前后chars中有的字符全部去掉,可以理解為把s前后chars替換為None。默認去掉前后空格。s.lstrip([chars]):把s左邊chars中有的字符全部去掉。默認去掉左邊空格。s.rstrip([chars]):把s右邊chars中有的字符全部去掉。默認去掉右邊空格。s.expandtabs([tabsize]):把s中的tab字符替換為空格,每個tab替換為tabsize個空格,默認是8個。36例字符串替換函數使用示例。程序如下:s='PythonProgram'print('{:s}replacetto*={:s}'.format(s,s.replace('t','*')))print('{:s}replacetto*={:s}'.format(s,s.replace('t','*',1)))print('{:s}strip={:s}'.format(s,s.strip()))print('{:s}strip={:s}'.format(s,s.strip('Pm')))運行結果如下:PythonProgramreplacetto*=Py*honProgramPythonProgramreplacetto*=Py*honProgramPythonProgramstrip=PythonProgramPythonProgramstrip=ythonProgra37(4)字符串的拆分與組合
s.split([sep,[maxsplit]]):以sep為分隔符,把字符串s拆分成一個列表。默認的分隔符為空格。maxsplit表示拆分的次數,默認取-1,表示無限制拆分。s.rsplit([sep,[maxsplit]]):從右側把字符串s拆分成一個列表。s.splitlines([keepends]):把s按行拆分為一個列表。keepends是一個邏輯值,如果為True,則每行拆分后會保留行分隔符。s.partition(sub):從sub出現的第1個位置起,把字符串s拆分成一個3元素的元組(sub左邊字符,sub,sub右邊字符)。如果s中不包含sub,則返回(s,",")。s.rpartition(sub):從右側開始,把字符串s拆分成一個3元素的元組(sub左邊字符,sub,sub右邊字符)。如果s中不包含sub,則返回(",",s)。
s.join(seq):把seq代表的序列組合成字符串,用s將序列各元素連接起來。字符串中的字符是不能修改的,如果要修改,通常的方法是,用list()函數把字符串s變為以單個字符為成員的列表(使用語句s=list(s)),再使用給列表成員賦值的方式改變值(如s[3]='a'),最后再使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地中海設計風格案例
- 2025園林綠化工程設計施工合同范本
- 2025離職人員續簽勞務合同范本
- 2025酒吧音響設備采購合同
- 物流管理課程故事
- 少兒美術教師培訓課件
- 學校醫療衛生健康教育課件
- 2025電力工程招標代理合同
- 2025商用辦公室租賃合同范本
- 2025藝人經紀的合同范本
- 微訓練 一文多考 備考高效之詩歌《蘇幕遮?燎沉香》教師版
- 2025屆山東省濟南市一模生物試題(原卷版+解析版)
- 海南地理會考試卷及答案2024
- 全國河大音像版初中信息技術八年級上冊第三章第三節《循環結構程序設計》教學設計
- 企業健康管理計劃規劃方案討論
- 隧道高空作業施工方案
- 危險性較大的分部分項工程專項施工方案嚴重缺陷清單(試行)
- 深信服超融合HCI技術白皮書-20230213
- 2025年陜西省土地工程建設集團有限責任公司招聘筆試參考題庫附帶答案詳解
- 《多樣的中國民間美術》課件 2024-2025學年人美版(2024)初中美術七年級下冊
- 人教版 七年級 下冊 語文 第四單元《青春之光》課件
評論
0/150
提交評論