(完整版)Python基礎(chǔ)學(xué)習(xí)筆記.doc_第1頁
(完整版)Python基礎(chǔ)學(xué)習(xí)筆記.doc_第2頁
(完整版)Python基礎(chǔ)學(xué)習(xí)筆記.doc_第3頁
(完整版)Python基礎(chǔ)學(xué)習(xí)筆記.doc_第4頁
(完整版)Python基礎(chǔ)學(xué)習(xí)筆記.doc_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Python基礎(chǔ)學(xué)習(xí)筆 記基于 Python 語言程序設(shè)計(jì)基礎(chǔ)(第2 版)第一部分 初識 Python 語言第 1 章程序設(shè)計(jì)基本方法1.1 計(jì)算機(jī)的概 念? 計(jì)算機(jī)是根據(jù) 指令操作數(shù)據(jù)的設(shè)備,具備 功能性 和可編程性兩個基本特性。? 計(jì)算機(jī)技術(shù)發(fā)展階段 :1. 第一階段: 1946-1981 年, “計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)階段 ”。2. 第二階段: 1982-2007 年, “計(jì)算機(jī)網(wǎng)絡(luò)和視窗階段 ”。3. 第三階段: 2008 年至今, “復(fù) 雜信息系統(tǒng)階段 ”。4. 第四階段:月 20 年后某個 時期開始, “人工智能 階段 ”。1.2 程序設(shè)計(jì)語言1.2.1 程序設(shè)計(jì)語言概 述? 機(jī)器語言:直

2、接使用二進(jìn)制代碼表達(dá)指令,可被計(jì)算機(jī)硬件直接識別和執(zhí)行。不同計(jì)算機(jī)結(jié)構(gòu)的機(jī)器指令不同 。? 匯編語言:使用助記符對應(yīng)機(jī)器語言中的指令,可直接操作計(jì)算機(jī)硬件。不同計(jì)算機(jī)結(jié)構(gòu)的匯編指令不同 。機(jī)器語言和匯編語言都直接操作計(jì)算機(jī)硬件并基于此設(shè)計(jì),統(tǒng)稱“低級語言 ”。? 高級語言:用更接近自然語言的方式描述計(jì)算問題。代碼只與編程語言有關(guān),與計(jì)算機(jī)結(jié)構(gòu)無關(guān) 。1.2.2 編譯和解釋高級語言按執(zhí)行方式可分為采用編譯執(zhí)行 的靜態(tài)語言和采用解釋執(zhí)行的腳本語言。? 編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程 。? 解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時逐條運(yùn)行目標(biāo)代碼的過程。1.2.3 計(jì)算機(jī)編 程? 我學(xué)習(xí) Pytho

3、n 的原因:1. 通過編程實(shí)現(xiàn)自動化,提高效率 。2. 通過編程了解一個新的廣闊世界 。? 學(xué)習(xí)一門編程語言(重點(diǎn)在于 練習(xí))1. 掌握該語言的語 法2. 結(jié)合問題設(shè)計(jì)程序結(jié) 構(gòu)3. 掌握解決 問題的能 力1.3Python語言概述1.3.1 Python語言的發(fā) 展Python 語言是一個語法簡潔、跨平臺、可擴(kuò)展的開源通用腳本語言。? Python 語言誕生于 1990 年,創(chuàng)世人為 Guido 。? 2000 年 10 月, Python 2.0 正式發(fā)布, 2010 年, Python 2.x 系列發(fā)布最后一版(2.7 )。? 2008 年 12 月, Python 3.0 正式發(fā)布,解

4、釋器內(nèi)部采用完全面向?qū)ο蟮姆绞綄?shí)現(xiàn),代價是 3.x 系列版本無法向下兼容 2.x 系列的既有 語法 。Python 2.x 已經(jīng)是遺產(chǎn), Python 3.x 是這個語言的現(xiàn)在和未來。1.3.2 編寫 Hello程序print( Hello World)1.3.3 Python語言的特 點(diǎn)? 語法簡潔? 可跨平臺? 應(yīng)用廣泛? 支持中文?強(qiáng)制可讀:通過強(qiáng)制縮進(jìn)體現(xiàn)語句間的邏輯關(guān)系提高了程序的可讀性? 模式多樣:語法層面同時支持面向過程和面向?qū)ο髢煞N編程方 式? 粘性擴(kuò)展:通過接口和函數(shù)集成其他語言編寫的代碼? 開源理念? 庫類豐富1.4 Python語言開發(fā)環(huán)境配 置? Python 解釋器?

5、 IDLE 開發(fā)環(huán)境? 交互式啟 動? 文件式啟 動? Python 語言集成開發(fā)環(huán)境 PyCharm1.5 程序的基本 編寫方 法1.5.1 IPO 程序編寫方 法每個程序都有 統(tǒng)一的運(yùn)算模式:輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)。這種樸素的運(yùn)算模式形成了基本的程序編寫方法: IPO ( Input,Process,Output) 方法。IPO 不僅是程序設(shè)計(jì)的基本方法,也是描述計(jì)算問題的方式。1.5.2 理解問題的計(jì)算部 分? 使用計(jì)算機(jī)解決問題的 6 個步驟:1. 分析問題2. 劃分邊界3. 設(shè)計(jì)算法4. 編寫程序5. 調(diào)試測試6. 升級維護(hù)第 2 章 Python 程序解析2.1 Python

6、程序語法元素分 析Python 程序包括格式框架、注 釋、變量、表達(dá)式、分支語句、循環(huán)語句、函數(shù)等語法元素。程序的格式框架? Python 語言采用嚴(yán)格的 “縮進(jìn) ”來表明程序的格式框架, 縮進(jìn)表達(dá)了所屬關(guān) 系?在代碼編寫中縮進(jìn)可通過Tab 鍵實(shí)現(xiàn),也可用多個空格實(shí)現(xiàn),建議采用4 個空格方式書寫代碼注釋? 注釋是輔助性文字,不被執(zhí) 行? 單行注釋:以 #開頭#這是注釋? 多行注釋:以 (3 個單引號 )開頭和結(jié)尾這是注釋這也是注釋這還是注釋命名? 命名是為變量關(guān)聯(lián) 標(biāo)識符的過程,用于確保程序元素的唯一 性?標(biāo)識符由字母、數(shù)字、下劃線(和漢字)等字符及其組合構(gòu)成? 標(biāo)識符的首字符不能是數(shù)字 ,且

7、中間不能出現(xiàn)空 格? 標(biāo)識符對大小寫敏 感保留字?保留字( Keyword )也被稱 為關(guān)鍵字,是被編程語言內(nèi)部定義并保留使用的標(biāo)識符? Python 的標(biāo)準(zhǔn)庫提供了一個 keyword 模塊,可以輸出當(dāng)前版本的所有關(guān)鍵字 : import keyword ls=keyword.kwlist lslen(ls)33Python 3 有 33 個保留字1. True2. False3. None4. and5. as6. assert7. break8. class9. continue10. def11. del12. elif13. else14. except15. finally16.

8、for17. from18. global19. if20. import21. in22. is23. lambda24. nonlocal25. not26. or27. pass28. raise29. return30. try31. while32. with33. yield字符串? 字符串( string )類型在程序中表示文 本? 字符串是字符的序列,可以按照 單個字符或字符片段進(jìn)行索 引? 字符串包括兩種序號體系:正向 遞增序號、反向遞減序 號? 正向遞增序號: 0L-1? 反向遞減序號: -L-1? 區(qū)間訪問方式: N: M(不包含 M),可以混合使用正向 遞增序號和反向遞

9、減序 號? 字符串比 較本質(zhì)上是字符串對應(yīng) Unicode 編碼的比較賦值語 句? Python 語言中, “ =表”示 “賦值 ”,將右 側(cè)的計(jì)算結(jié)果 賦給左側(cè) 變量? 同步賦值語句:可同時給多個變量賦值,=,分支語句?分支語句的作用是根據(jù)判斷條件選擇程序執(zhí)行路徑if:elif:else :循環(huán)語句?循環(huán)語句的作用是根據(jù)判斷條件確定一段程序是否再執(zhí)行一次或多次while () :for i in range():input()函數(shù)? 使用 input() 函數(shù)從控制臺 獲得用戶輸 入? input() 函數(shù)以字符串 類型返回結(jié)果 = input( 提示性文字 )input(請輸入: )eva

10、l() 函數(shù)?eval()函數(shù)的作用是 間輸入的字符串變成Python 語句并執(zhí)行x= eval (input( 請輸入: )Python 語法允許在表達(dá)式內(nèi)部標(biāo)記之間增加空格,適當(dāng)增加空格有助于提高代碼可讀性。但應(yīng)注意,不能改變與縮進(jìn)相關(guān)的空格數(shù)量、不能再變量名等命名中間增加空格。print()函數(shù)?print() 函數(shù)可以 輸出字符信息,也可以用字符的形式輸出變量?輸出字符信息時,可以直接將待輸出內(nèi)容傳遞給print() 函數(shù)? 輸出變量值時, print() 函數(shù)用槽格式和 過 format() 方法將變量和字符串結(jié)合到一起輸 出函數(shù)? 函數(shù)可以理解 為對一組表達(dá)特定功能表達(dá)式的封裝,將

11、特定功能代碼編寫在一個函數(shù)里,使程序模塊化更好,便于閱讀和復(fù) 用? 可通過保留字 def 自定義函數(shù)2.2 對象(庫)的調(diào) 用? .() 表示調(diào)用一個對象 的方法 () ,或調(diào)用一個函數(shù)庫 中的函數(shù) ()面向?qū)ο缶幊淌且环N基于對象的編程范式。對象是事物的一種抽象,是一個實(shí)體,包含屬性和方法兩部分。屬性是對象中的變量,方法是對象能完成的操作。? 通過保留字 import 引用函數(shù) 庫1.import :程序調(diào)用庫中所有函數(shù),使用庫中函數(shù)格式如下.()importturtleturtle.fd(100 )#控制畫筆向當(dāng)前行進(jìn)方向前進(jìn)1002.from import :from import fro

12、m import * , “ *是通”配符,表示所有函數(shù)? 調(diào)用庫中函數(shù)不再需要使用庫名,格式如 下()fromturtleimport*fd( 100 )2.3 turtle庫語法元素分 析tuetle 庫是一個圖形繪制函數(shù)圖繪圖坐標(biāo)體 系? tuetle 庫繪制圖形的基本框架是一個海龜在坐標(biāo)系中爬行(前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)),其軌跡形成了繪制圖形 。? 初始位置位于坐 標(biāo)( 0,0 ),行進(jìn)方向?yàn)樗接曳?。? 使用 turtle.setup() 函數(shù)設(shè)置主窗體的大小和位置 。turtle.setup(width,height,startx,stary)? width,height 分別表

13、示窗口寬度和高度,值是整數(shù)表示像素值,值時小數(shù)表示與屏幕的比例?startx,stary 分別表示窗口左側(cè)和頂部與屏幕左側(cè)和頂部的像素距離,如果值是none ,窗口位于屏幕水平 /垂直中央turtle.setup( 0.8 ,0 .8 )畫筆控制函數(shù)? turtle.penup() :抬起畫筆,之后移 動畫筆不繪制形狀別名: turtle.pd() 、turtle.down()? turtle.pensize(width) :設(shè)置畫筆寬度, width 無參數(shù)或 為 None 時返回當(dāng)前畫筆寬度別名: turtle.width()? turtle.pencolor() :設(shè)置畫筆顏色,無參數(shù)輸

14、入時返回當(dāng)前畫筆顏色 。(colorstring) 參數(shù)表示 顏色的字符串; (r,g,b) 參數(shù)表示 顏色對應(yīng)的 RGB 值顏色顏色字符串GRB十六進(jìn)制黑色black0,0,0#FFFFFF白色white255,255,255#000000灰色grey190,190,190#BEBEBE形狀繪制函 數(shù)? turtle.fd(distance) :控制畫筆向當(dāng)前行 進(jìn)方向前進(jìn) distance ,值為負(fù)數(shù)表示向相反方向前進(jìn)別名: turtle.forward(distance)? turtle.seth(to_angle) :控制畫筆 繪制方向,( to_angle )參數(shù)是 絕對方向角度值(

15、turtle 庫的坐標(biāo)體系以正東方向?yàn)榻^對0 度、正北方向 為絕對 90 度)? turtle.circle(radius,extent=None) :根據(jù)半徑 radius 繪制 extent 角度的弧形 radius 值為正時,半徑在畫筆左側(cè),值為負(fù)時,半徑在畫筆右側(cè);extent 為正時,畫筆逆時針前進(jìn), extent 為負(fù)時,畫筆順時針倒退, extent 不設(shè)置參數(shù)或參數(shù)為 None 時,繪制整圓 。第二部分 深入 Python 語言第3章基本數(shù)據(jù)類型3.1 數(shù)字類型?Python 語言提供整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)3 種數(shù)字類型整數(shù)類型?整數(shù)類型共有 4 種進(jìn)制表示:十進(jìn)制、二進(jìn)制、八進(jìn)制

16、和十六進(jìn)制?默認(rèn)情況整數(shù)采用十進(jìn)制,其他進(jìn)制需要增加引導(dǎo)符號進(jìn)制種類引導(dǎo)符號描述十進(jìn)制無默認(rèn)情況二進(jìn)制0b 或 0B由字符 0 和 1 組成八進(jìn)制0o 或 0O由字符 0 到 7 組成十六進(jìn)制0x 或 0X由字符 0 到 9、a 到 f、 A 到 F 組成浮點(diǎn)數(shù)類型? 浮點(diǎn)數(shù)類型與數(shù)學(xué)中實(shí)數(shù)的概念一致,表示帶有小數(shù)的數(shù)值?Python 語言要求所有浮點(diǎn)數(shù)必須帶有小數(shù)部分(可以是0),一區(qū)分浮點(diǎn)數(shù)和 證書類型? 浮點(diǎn)數(shù)有 2 中表示方法:十 進(jìn)制表示和科學(xué)計(jì)數(shù)法表 示科學(xué)計(jì)數(shù)法使用字母 e 或 E 作為冪的符號,以 10 為基數(shù) ,含義如下:e=a*10b2?由于計(jì)算機(jī)內(nèi)部采用二進(jìn)制運(yùn)算,浮點(diǎn)數(shù)

17、進(jìn)行超過15 位數(shù)字計(jì)算會產(chǎn)生誤 差使用整數(shù)表達(dá)浮點(diǎn)數(shù)的方法是高精確度運(yùn)算的基本方法之一。? 對于高精度科學(xué)計(jì)算外的絕大部分運(yùn)算而言,浮點(diǎn)數(shù)類型已足夠可靠,一般認(rèn)為浮點(diǎn)數(shù)類型沒有范圍限制,運(yùn)算結(jié)果準(zhǔn) 確復(fù)數(shù)類型? 復(fù)數(shù)類型表示數(shù)學(xué)中的復(fù) 數(shù)復(fù)數(shù)可以看作是二元有序 實(shí)數(shù)對 (a,b), 表示為 a+bj ,其中 a 是實(shí)數(shù)部分,簡稱實(shí)部, b 是虛數(shù)部分, 簡稱虛部 。?Python 語言中,復(fù)數(shù)的虛部通過后綴j 或J 表示1.23e-4+5 .67e +89 j?復(fù)數(shù)類型中實(shí)數(shù)部分和虛數(shù)部分的數(shù)值都是浮點(diǎn)數(shù)類型,對于實(shí)數(shù)z,可用 z.real 和z.imag 分別獲得它的實(shí)部和虛 部(1 .2

18、3e-4+5.67e +89 j ) .real(1 .23e-4+5.67e +89 j ) .imag3.2 數(shù)字類型的操 作? Python 解釋器為數(shù)字類型提供數(shù)值運(yùn)算操作符、數(shù)值運(yùn)算函數(shù)、類型轉(zhuǎn)換函數(shù)等操作方法內(nèi)置的數(shù) 值運(yùn)算操作符(共9 個)操作符x+yx-yx*yx/yx/yx%y-x+xx*y描述x 與 y 之和x 與 y 之差x 與 y 之積x 與 y 之商x 與 y 之整數(shù)商,即不大于x 與 y 之商的最大整數(shù)x 與 y 之商的余數(shù),也稱 為模運(yùn)算x 的負(fù)值x 本身x 的 y 次冪,即 xy?操作符運(yùn)算的 結(jié)果可能會改變數(shù)字類型, 3 種數(shù)字類型之間存在一種逐漸擴(kuò)展的關(guān)系:

19、整數(shù) 浮點(diǎn)數(shù) 復(fù)數(shù)上述 9 個二元數(shù)學(xué)操作符都有與之對應(yīng)的增強(qiáng)賦值操作 符x+=y 等價于 x=x+y?模運(yùn)算( %)在編程中主要應(yīng)用于具有周期規(guī)律的場景內(nèi)置的數(shù) 值運(yùn)算函數(shù)(共6 個)函數(shù)描述abs(x)x 的絕對值divmod(x,y)(x/y,x%y), 輸出為二元組形式(也稱為元組類型)pow(x,y,z)(x*y)%z, 表示該參數(shù)可省 略對 x 四舍五入,保留ndigits 位小數(shù), round(x)返回四舍五入的整數(shù)round(x,ndigits)值max(x1,x2,xn) x1,x2,xn的最大值, n 沒有限定min(x1,x2,xn) x1,x2,xn的最小值, n 沒有

20、限定內(nèi)置的數(shù)字 類型轉(zhuǎn)換函數(shù)(共3 個)函數(shù)描述int(x)將 x 轉(zhuǎn)換為整數(shù), x 可以是浮點(diǎn)數(shù)或字符串float(x)將 x 轉(zhuǎn)換為浮點(diǎn)數(shù), x 可以是整數(shù)或字符串生成一個復(fù)數(shù), 實(shí)部為 re,虛部為 im ,re 可以是整數(shù)、浮點(diǎn)數(shù)或字complex(re,im)符串, im 可以是整數(shù)或浮點(diǎn)數(shù)但不能為字符串? int() 函數(shù)將浮點(diǎn)數(shù) 類型轉(zhuǎn)換為整數(shù)時,小數(shù)部分會直接被舍 棄? 復(fù)數(shù)不能直接 轉(zhuǎn)換為其他數(shù)字類型,可通過 .real 和.imag 將復(fù)數(shù)的 實(shí)部和虛部分別轉(zhuǎn)換3.3 字符串類型及其操 作字符串 類型的表 示? 字符串是字符的序列表示? 單引號字符串: 單引號表示可以使用

21、雙引號 作為字符串的一部分 ? 雙引號字符串: 雙引號表示可以使用 單引號 作為字符串的一部分 ? 三引號字符串: 三引號表示可以使用 雙引號 、單引號 作為字符串的一部分也可以換行? Python 字符串提供區(qū) 間訪問方式,采用 N:M 格式。表示從字符串中從 N 到 M (不包含 M)的字符串,可以混合使用正向 遞增序號和反向遞減序 號? 反斜杠字符 ()在字符串中表示 轉(zhuǎn)義1. n 表示換行2. 表示反斜杠3. 表示單引號4. 表示雙引號5. t 表示制表符 (Tab)基本的字符串操作符(共5 個)操作符描述x+y連接兩個字符串 x 與 yx*n 或 n*x復(fù)制 n 次字符串 xx in

22、 s如果 x 是 s 的子字符串,返回Ture,否則返回 False操作符描述stri索引,返回第 i 個字符strN:M切片,返回索引第N 到第 M 個字符內(nèi)置的字符串 處理函數(shù)(共6 個)函數(shù)描述len(x)返回字符串 x 的長度,也可返回其他組合數(shù)據(jù)類型元素個數(shù)str(x)返回任意 類型 x 所對應(yīng)的字符串形 式chr(x)返回 Unicode 編碼 x 對應(yīng)的單字 符ord(x)返回單字符表示的 Unicode 編碼hex(x)返回整數(shù) x 對應(yīng)十六進(jìn)制數(shù)的小寫形式字符串oct(x)返回整數(shù) x 對應(yīng)八進(jìn)制數(shù)的小寫形式字符串內(nèi)置的字符串 處理方法(共43 個,常用 16 個)? 在 P

23、ython 解釋器內(nèi)部,所有數(shù)據(jù)類型都采用面向?qū)ο蟮姆绞綄?shí)現(xiàn),封裝為一個類? 字符串是一個 類,具有類似 .() 形式的字符串 處理函數(shù),稱為方 法方法描述str.lower()返回字符串 str 的副本,全部字符小寫str.upper()返回字符串 str 的副本,全部字符大寫str.islower()當(dāng) str 所有字符都是小寫 時,返回 Ture,否則返回Falsestr.isprintable()當(dāng) str 所有字符都是可打印的,返回 Ture,否則返回Falsestr.isnumeric()當(dāng) str 所有字符都是數(shù)字 時,返回 Ture,否則返回Falsestr.isspace()

24、當(dāng) str 所有字符都是空格,返回 Ture,否則返回 Flasestr.endswith(suffix,start,end)strstart:end以 suffix 結(jié)尾返回 Ture,否則返回 Flasestr.srartswith(prefix,start,end)strstart:end以 prefix 開始返回 Ture,否則返回 Flasestr.split(sep=None,maxsplit=-1)返回一個列表,由 str 根據(jù) sep被分割的部分構(gòu)成str.count(sub,start,end返回 strstart:end中 sub子串出現(xiàn)的次數(shù)str.replace(old

25、,new,count)返回字符串 str 的副本,所有 old 子串被替 換為 new,如果 count 給出,則前 count 次 old 出現(xiàn)被替換str.center(width,fillchar)字符串居中函數(shù)方法描述返回字符串 str 的副本,在其左 側(cè)和右側(cè)去掉 chars 中str.strip(chars)列出的字符返回字符串 str 副本,長度為 width 。不足部分在其左str.zfill(width)側(cè)添加 0str.format()返回字符串 str 的一種排版格式str.join(iterable)返回一個新字符串,由 組合數(shù)據(jù)類型 iterable 變量的每個元素組

26、成,元素間用 str 分隔3.4 字符串類型的格式 化? 字符串通 過 format() 方法進(jìn)行格式化處 理字符串格式化用于解決字符串和變量同時輸出時的格式安排format()方法的基本使用? 字符串 format() 方法的基本使用格式: .format()? 模板字符串由一系列槽 組成,用來控制修改字符串中嵌入值出現(xiàn)的位置(槽用 表示,如果 中沒有序號, 則按照出現(xiàn)順序替換 )? 如需輸入 ,采用 表示 ;表示 120.format( ,3.1415926, )format()方法的格式控制? format() 方法模板字符串的槽除了包括參數(shù)序號, 還可包括格式控制信息。槽內(nèi)部樣式: :

27、? 格式控制 標(biāo)記用于控制參數(shù)顯示時的格 式:寬度引用于填導(dǎo)充的單符個字符號右對設(shè)定適用于整或字符串的b,c,d,o,x,X;浮點(diǎn)齊、 居中輸出數(shù)和浮點(diǎn)最大輸出長數(shù)類型 e,E,f,%對齊寬度數(shù)度? 指寬度內(nèi)除了參數(shù)外的字符采用什么方式表示,默認(rèn)為空格? 指參數(shù)在 寬度內(nèi)輸出時的對齊方 式? 指當(dāng)前槽的 設(shè)定輸出字符寬度,若實(shí)際參數(shù)長度比設(shè)定值大,則使用參數(shù)實(shí)際長度? 用于顯示數(shù)字類型的千分位分隔 符? 對于浮點(diǎn)數(shù),表示小數(shù)部分輸出的有效位數(shù);對于字符串,表示輸出的最大長度? 表示輸出整數(shù)好浮點(diǎn)數(shù)類型的格式規(guī)劃。對于整數(shù)類型 ,1. b:整數(shù)的二 進(jìn)制;2. c:整數(shù)對應(yīng)的 Unicode 字

28、符;3. d:整數(shù)的十 進(jìn)制;4. o:整數(shù)的八 進(jìn)制5. x:整數(shù)的小寫十六 進(jìn)制6. X:整數(shù)的大寫十六 進(jìn)制對于浮點(diǎn)數(shù)類型 ,7. e:浮點(diǎn)數(shù) 對應(yīng)的小寫字母 e 的指數(shù)形式8. E:浮點(diǎn)數(shù) 對應(yīng)的大寫字母 E 的指數(shù)形式9. f:浮點(diǎn)數(shù)的 標(biāo)準(zhǔn)浮點(diǎn)形 式10. %:浮點(diǎn)數(shù)的百分形式第 4 章 程序的控制 結(jié)構(gòu)4.1 程序的基本 結(jié)構(gòu)程序流程 圖? 起止框表示一個程序的開始和 結(jié)束? 判斷框判斷一個條件是否成立,并根據(jù)判斷 結(jié)果不同選擇不同的執(zhí)行路 徑? 處理框表示一組處理過 程? 輸入 /輸出框表示數(shù)據(jù)輸入或結(jié)果輸 出? 注釋框增加程序的解釋? 流向線以帶箭頭的直線或曲線形式指示程序的

29、執(zhí)行路 徑? 連接點(diǎn)將多個流程圖連接到一 起程序的基本 結(jié)構(gòu)?程序有 3 種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)? 順序結(jié)構(gòu):程序按照線性順序依次執(zhí) 行? 分支結(jié)構(gòu):程序根據(jù)條件判斷結(jié)果而選擇不同向前執(zhí)行路徑的一種運(yùn)行方式(分支結(jié)構(gòu)包括單分支結(jié)構(gòu)和二分支結(jié)構(gòu); p97 )? 循環(huán)結(jié)構(gòu):程序根據(jù)條件判斷結(jié)果向后反復(fù)執(zhí)行(根據(jù)觸發(fā)條件不同,循環(huán)結(jié)構(gòu)包括條件循環(huán)和遍歷循環(huán) )4.2 程序的分支 結(jié)構(gòu)單分支機(jī)構(gòu): if 語句if 語句語法格式 :if :? 語句塊是 if 條件滿足后執(zhí)行的一個或多個語句序 列? 語句塊中語句通過與 if 所在行形成 縮進(jìn)表達(dá)包含關(guān) 系?if 語句首先評估條件的結(jié)

30、果值,若為Ture 則執(zhí)行語句塊中的語句序列;若為False 則跳過語句塊中的語 句?if 語句中條件部分可以使用任何能夠產(chǎn)生Ture 或 False 的語句或函 數(shù)形成判斷條件最常 見的方式是采用關(guān)系操作 符關(guān)系操作符數(shù)學(xué)符號操作符含 義大于=大于等于=等于!=不等于? Python 使用 = 表示賦值語句,使用 = 表示等于二分支 結(jié)構(gòu): if-else語句if-else 語句語法格式 :if:else :? 二分支語句用于區(qū)分條件的兩種可 能? if 條件滿足時執(zhí)行語句塊 1? if 條件不滿足時執(zhí)行語句塊 2二分支結(jié)構(gòu)的簡潔表達(dá)(適合通過判斷返回特定值) if else ? 表達(dá)式 1

31、/2 一般是數(shù)字 類型或字符串類型的一個值多分支 結(jié)構(gòu): if-elif-else語句if-elif-else語句語法格式 :if: elif :.else:? Python 依次評估尋找第一個結(jié)果為 Ture 的條件, 執(zhí)行該條件下的語句并跳過整個 if-elif-else 結(jié)構(gòu),執(zhí)行后面的語 句? 如果沒有任何條件成立, 執(zhí)行 else 下面的語句塊? else 語句是可選 的4.3 程序的循 環(huán)結(jié)構(gòu)遍歷循環(huán): for 語句for 語句語法格 式for in:? 遍歷循環(huán)可以理解為從遍歷結(jié)構(gòu)中中逐一提取元素,放在循環(huán)變量中,對于所提取的每個元素執(zhí)行一次語句塊循環(huán)N次:foriinrang(

32、N):遍歷文件的每一行 :forlineinfi :遍歷字符串 sforcins:遍歷列表 lsforitemin ls:遍歷循環(huán)的擴(kuò)展模 式for in:else:當(dāng) for 循環(huán)正常執(zhí)行后,程序會 繼續(xù)執(zhí)行 else 語句遍歷循環(huán): while語句while 語句語法格 式while:?當(dāng)條件判斷 為 Ture 時,循環(huán)體重復(fù)執(zhí)行語句塊中的語句;當(dāng)條件為Flase 時,循環(huán)終止,執(zhí)行與 while 同級別縮進(jìn)的后續(xù)語 句無限循環(huán)的擴(kuò)展模 式while:else :?當(dāng) while 循環(huán)正常執(zhí)行后,程序會繼續(xù)執(zhí)行else 語句中的內(nèi)容, else 語句只在循環(huán)正常執(zhí)行后才執(zhí) 行循環(huán)保留字:

33、break和 continue?break 用來跳出最內(nèi) 層 for 或 while 循環(huán),脫離該循環(huán)后程序從循環(huán)代碼后繼續(xù)執(zhí)行? continue 用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但不跳出當(dāng)前循環(huán)forsinBIT:foriinrang(2):print(s,end = )ifs= I:breakBBTT? break 語句與 continue 語句的區(qū)別是 ,break 語句結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立; continue 語句只結(jié)束本次循環(huán),而不終止整個循環(huán)的執(zhí) 行for 循環(huán)和 while 循環(huán)中都有一個 else 擴(kuò)展用法。 else 語句

34、僅在循環(huán)正常遍歷了所有內(nèi)容或由于條件不成立而結(jié)束循環(huán)的條件下執(zhí)行 。forsinPYTHON :ifs =T :continueprint(s,end= )else :print( 正常退出 )PYHON 正常退出forsinPYTHON :ifs =T :breakprint(s,end= )else :print(正常退出 )PY4.4 random庫的使用random 庫采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列,可用于除隨機(jī)性要求更高的加解密算法外的大多數(shù)工程應(yīng) 用? Python 內(nèi)置的 random 庫主要用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序 列? random 庫提供 9 個常用函數(shù)函數(shù)描述see

35、d(a=None)初始化隨機(jī)數(shù)種子,默 認(rèn)值為當(dāng)前系統(tǒng)時間random()生成一個 0.0,1.0之間的隨機(jī)小 數(shù)randint(a,b)生成一個 a,b之間的整數(shù)getrandbits(k)生成一個 k 比特長度的隨機(jī)整 數(shù)randrange(start,stop,step)生成一個 start,stop之間以 step 為步數(shù)的隨機(jī)整 數(shù)uniform(a,b)生成一個 a,b之間的隨機(jī)小 數(shù)choice(seq)從序列類型,例如列表中隨機(jī)返回一個元 素shuffle(seq)將序列類型中的元素隨機(jī)排列,返回打亂后的序列sample(pok,k)從 pop 類型中隨機(jī)選取 k 個元素,以列

36、表 類型返回? 生成隨機(jī)數(shù)之前可通 過 seed() 函數(shù)指定隨機(jī)數(shù)種子,隨機(jī)數(shù)種子一般是一個整數(shù),只要種子相同,每次生成的隨機(jī)數(shù)序列也相同4.5 程序的異常 處理Python 通過 try、except 等保留字提供異常 處理功能異常處理: try-except語句?Python 使用 try-except 語句實(shí)現(xiàn)異常處 理try :except :異常的高 級用法? try-except 語句可以支持多個 except 語句try :except :.except : except :? 異常語句還可以與 else 和 finally 保留字配合使用try :except :else:f

37、inally:第 5 章函數(shù)和代碼復(fù)用5.1 函數(shù)的基本使用函數(shù)的定 義?函數(shù)是一段具有特定功能的、可重用的語句組使用函數(shù)主要有兩個目的:降低 編程難度和代碼重 用 Python 使用 def 保留字定 義一個函 數(shù)def ():return?函數(shù)名可以是任何有效的Python 標(biāo)識符參數(shù)列表是 調(diào)用該函數(shù)是傳遞給它的值,可以有零個(保留圓括號)、一個或多個(用逗號分隔 )函數(shù)體是函數(shù)每次被 調(diào)用是執(zhí)行的代碼當(dāng)需要返回 值時使用保留字 return 和返回值劉表,否則函數(shù)可以沒有 return 語句,在函數(shù)體結(jié)束時將控制權(quán)返回給調(diào)用 者函數(shù)調(diào)用和執(zhí)行的一般形 式()函數(shù)的 調(diào)用過 程1. 調(diào)用

38、程序在調(diào)用處暫停執(zhí) 行2. 在調(diào)用時將實(shí)參復(fù)制給形 參3. 執(zhí)行函數(shù)體語 句4. 函數(shù)調(diào)用結(jié)束給出返回值,程序回到調(diào)用前的暫停處繼續(xù)執(zhí) 行l(wèi)ambda函數(shù)? lambda 函數(shù)又稱匿名函數(shù),將函數(shù)名作 為函數(shù)結(jié)果返 回=lambda:lambda 函數(shù)與正常函數(shù)一 樣,等價于下面表達(dá)式:def ():return?lambda 函數(shù)用于定 義簡單的、能夠在一行內(nèi)表示的函數(shù),返回一個函數(shù)類型f= lambdaq,w,e,r:q+w+e+rf( 1, 2, 3, 4)10?lambda 函數(shù)用于需要函數(shù) 對象的場 景5.2 函數(shù)的參數(shù) 傳遞函數(shù)可定 義可選參數(shù),使用參數(shù)的位置或名稱傳遞參數(shù)值,根據(jù)

39、函數(shù)中變量的不同作用域有不同的函數(shù)返回值方 式可選參數(shù)和可變數(shù)量參數(shù)? 函數(shù)定義時部分參數(shù)可直接為存在默認(rèn)值的參數(shù)指定默認(rèn)值,當(dāng)函數(shù)被調(diào)用時如果沒有傳入對應(yīng)的參數(shù)值則使用函數(shù)定義時的的默認(rèn)值替 代? 默認(rèn)參數(shù)必須指向不變對 象? 函數(shù)調(diào)用時需要按順序輸入?yún)?shù),可選參數(shù)必須定義在非可選參數(shù)后dfe r(str,times=2):print(str*times )r(T)TTr(T)TTTT? 函數(shù)定義時可設(shè)計(jì)可變數(shù)量參數(shù),通過在參數(shù)前加星號 (*) 實(shí)現(xiàn)? 帶有星號的可變參數(shù)只能出現(xiàn)在參數(shù)列表最后,調(diào)用時這些參數(shù)被單指元組類型傳遞到函數(shù)中defvfunc (a,*b)print(type(b)f

40、orninb:a+=nreturnavfunc(1, 2, 3, 4, 5)15 #1+2=3;3+3=6;6+4=10;10+5=15參數(shù)的位置和名稱傳遞? 函數(shù)定義時實(shí)參默認(rèn)采用按照位置順序的方式傳遞給函數(shù),這種方式在參數(shù)很多的情況下可讀性較 差? Python 提供了按照形參名稱 輸入實(shí)參的方式,調(diào)用函數(shù)時指定參數(shù)名稱,參數(shù)之間的順序可任意調(diào) 整函數(shù)的返回 值?return 語句用來退出函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行?return 語句可同時將 0 個、 1 個或多個函數(shù)運(yùn)算后的 結(jié)果返回給函數(shù)被調(diào)用的位置? 函數(shù)可以沒有 return ,此時函數(shù)不返回值? 函數(shù)也可以用 return 返回多個 值

溫馨提示

  • 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

提交評論