Python基礎學習筆記_第1頁
Python基礎學習筆記_第2頁
Python基礎學習筆記_第3頁
Python基礎學習筆記_第4頁
Python基礎學習筆記_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Python基礎學習筆記基于« Python語言程序設計基礎(第2版)第一部分 初識Python語言第1章程序設計基本方法1、1計算機得概念?計算機就是根據(jù)指令操作數(shù)據(jù)得設備、具備功能性與可編程性兩個基本特性。?計算機技術發(fā)展階段:1. 第一階段:1946-1981年、”計算機系統(tǒng)結構階段”。2. 第二階段:1982-2007年、”計算機網(wǎng)絡與視窗階段”。3. 第三階段:2008年至今、“復雜信息系統(tǒng)階段”。4. 第四階段:月20年后某個時期開始、“人工智能階段”。1、2程序設計語言1、2、1程序設計語言概述?機器語言:直接使用二進制代碼表達指令、可被計算機硬件直接識別與執(zhí)行。不同計

2、算機結構得機器指令不同。>匯編語言:使用助記符對應機器語言中得指令、可直接操作計算機硬件。不同計算機結構得匯編指令不同。機器語言與匯編語言都直接操作計算機硬件并基于此設計、統(tǒng)稱“低級語言”。>高級語言:用更接近自然語言得方式描述計算問題。代碼只與編程語言有關、與計算機結構無關1、2、2編譯與解釋高級語言按執(zhí)行方式可分為采用 編譯執(zhí)行得靜態(tài)語言與采用解釋執(zhí)行得腳本語言。?編譯就是將源代碼轉換成目標代碼得過程。?解釋就是將源代碼逐條轉換成目標代碼同時逐條運行目標代碼得過程。1、2、3計算機編程?我學習Python得原因:1. 通過編程實現(xiàn)自動化、提高效率。2. 通過編程了解一個新得廣闊

3、世界。?學習一門編程語言(重點在于練習)1. 掌握該語言得語法2. 結合問題設計程序結構3. 掌握解決問題得能力1、3Python語言概述1、3、1 Python語言得發(fā)展Python語言就是一個語法簡潔、跨平臺、可擴展得開源通用腳本語言。?Python語言誕生于1990年、創(chuàng)世人為 Guido。?2000年10月、Python 2、0正式發(fā)布、2010年、Python 2、x系列發(fā)布最后一版(2、7) 0篩濫類用!礎瀉。?2008年12月、Python 3、0正式發(fā)布、解釋器內部采用完全面向對象得方式實現(xiàn)、代價就是3、x系列版本無法向下兼容2、x系列得既有語法。Sj侈!境M漳訃。Python

4、 2、x已經就是遺產、Python 3、x就是這個語言得現(xiàn)在與未來。1、3、2編寫Hello程序print ("Hello World")1、3、3 Python語言得特點1語法簡潔1可跨平臺1應用廣泛1支持中文'強制可讀:通過強制縮進體現(xiàn)語句問得邏輯關系提高了程序得可讀性1 模式多樣:語法層面同時支持面向過程與面向對象兩種編程方式'粘性擴展:通過接口與函數(shù)集成其她語言編寫得代碼'開源理念'庫類豐富1、4 Python語言開發(fā)環(huán)境配置> Python解釋器> IDLE開發(fā)環(huán)境> 交互式啟動> 文件式啟動> Pyt

5、hon語言集成開發(fā)環(huán)境PyCharm1、5程序得基本編寫方法1、5、1 IPO程序編寫方法每個程序都有統(tǒng)一得運算模式:輸入數(shù)據(jù)、處理數(shù)據(jù)與輸出數(shù)據(jù)。這種樸素得運算模式形 成了基本得程序編寫方法:IPO (Input,Process,Output) 方法。滕崎那鋪椽尷。IPO不僅就是程序設計得基本方法、也就是描述計算問題得方式。1、5、2理解問題得計算部分?使用計算機解決問題得6個步驟:1. 分析問題2. 劃分邊界3. 設計算法4. 編寫程序5. 調試測試6. 升級維護第2章Python程序解析2、1 Python程序語法元素分析Python程序包括格式框架、注釋、變量、表達式、分支語句、循環(huán)語

6、句、函數(shù)等語法元 素。程序得格式框架?Python語言采用嚴格得“縮進”來表明程序得格式框架、縮進表達了所屬關系?在代碼編寫中縮進可通過Tab鍵實現(xiàn)、也可用多個空格實現(xiàn)、建議采用 4個空格方式書寫代碼注釋?注釋就是輔助性文字、不被執(zhí)行?單行注釋:以#開頭#這就是注釋多行注釋:以”'(3 個單引號)開頭與結尾這就是注釋這也就是注釋這還就是注釋 '''命名?命名就是為變量關聯(lián) 標識符得過程、用于確保程序元素得唯一性?標識符由字母、數(shù)字、下劃線(與漢字)等字符及其組合構成?標識符得首字符不能就是數(shù)字、且中間不能出現(xiàn)空格?標識符對大小寫敏感保留字? 保留字(Keywor

7、d)也被稱為關鍵字、就是被編程語言內部定義并保留使用得標識 符? Python得標準庫提供了一個keyword模塊、可以輸出當前版本得所有關鍵字:>>> import keyword>>> ls=keyword 、kwlist>>> Is>>>len(ls)33Python 3 有33個保留字1. True2. False3. None4. and5. as6. assert7. break8. class9. continue10. def11. del12. elif13. else14. except15. fina

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

9、本質上就是字符串對應Unicode編碼得比較賦值語句? Python語言中、“=”表示“賦值”、將右側得計算結果賦給左側變量?同步賦值語句:可同時給多個變量賦值<變量1>,< 變量N>=<fe達式1>,<表達式N>分支語句?分支語句得作用就是根據(jù)判斷條件選擇程序執(zhí)行路徑if<條件1>:<語句塊1>elif< 條件 2>:<§句塊2>else :<語句塊N>/環(huán)語句循環(huán)語句得作用就是根據(jù)判斷條件確定一段程序就是否再執(zhí)行一次或多次while (< 條件>):<語句

10、塊1><語句塊2>for i in range(<循環(huán)次數(shù) >):<語句塊1>input()函數(shù)>使用input()函數(shù)從控制臺獲得用戶輸入>input()函數(shù)以字符串類型返回結果<> =input("提示性文字")>>>input("請輸入:")eval()函數(shù)? eval(<字符串)函數(shù)得作用就是問輸入得字符串變成Python語句并執(zhí)行x=eval(input("請輸入:")Python語法允許在表達式內部標記之間增加空格、適當增加空格有助于

11、提高代碼可讀性。但應注意、不能改變與縮進相關得空格數(shù)量、不能再變量名等命名中間增加空格。姍金笛磺揖n皤:郭。print()函數(shù), print()函數(shù)可以輸出字符信息、也可以用字符得形式輸出變量,輸出字符信息時、可以直接將待輸出內容傳遞給print()函數(shù),輸出變量值時、print()函數(shù)用槽格式與過format()方法將變量與字符串結合到一起輸出函數(shù)?函數(shù)可以理解為對一組表達特定功能表達式得封裝、將特定功能代碼編寫在一個函數(shù)里、使程序模塊化更好、便于閱讀與復用 豁懶指鑄黑躥。?可通過保留字def自定義函數(shù)2、2對象(庫)得調用?a、b()表示調用一個對象2得方法b()、或調用一個函數(shù)庫a中得函

12、數(shù)b()面向對象編程就是一種基于對象得編程范式。對象就是事物得一種抽象、就是一個實體、包含屬性與方法兩部分。屬性就是對象中得變量、方法就是對象能完成得操作。WWBWtt?通過保留字import引用函數(shù)庫1. import 庫名:程序調用庫中所有函數(shù)、使用庫中函數(shù)格式如下庫名 、函數(shù)名 ( 函數(shù)參數(shù))import turtleturtle 、 fd( 100) #控制畫筆向當前行進方向前進1002. from 庫名 import :from 庫名 import 函數(shù)名,函數(shù)名,函數(shù)名from 庫名 import *、“ * ”就是通配符、表示所有函數(shù)篷謖緒暫壩。? 調用庫中函數(shù)不再需要使用庫名、

13、格式如下函數(shù)名 ( 函數(shù)參數(shù))from turtle import *fd( 100)2、3 turtle庫語法元素分析tuetle庫就是一個圖形繪制函數(shù)圖繪圖坐標體系, tuetle庫繪制圖形得基本框架就是一個海龜在坐標系中爬行(前進、后退、左 轉、右轉)、其軌跡形成了繪制圖形。覺臉建測殮嬲遙。,初始位置位于坐標(0,0)、行進方向為水平右方。? 使用turtle 、setup()函數(shù)設置主窗體得大小與位置。turtle 、setup(width,height,startx,stary)? width,height分別表示窗口寬度與高度、值就是整數(shù)表示像素值、值時小數(shù)表示 與屏幕得比例, s

14、tartx,stary分別表示窗口左側與頂部與屏幕左側與頂部得像素距離、如果值就是none、窗口位于屏幕水平/垂直中央源痹解榔翱哪。turtle 、setup (0、8,0、8)畫筆控制函數(shù)turtle、penup():抬起畫筆、之后移動畫筆不繪制形狀別名:turtle 、pd()、turtle 、down()加日講師決就麼。turtle 、pensize(width):設置畫筆寬度、width無參數(shù)或為None時返回當前畫 筆寬度別名:turtle 、width()儉誨闊昆氟turtle 、pencolor():設置畫筆顏色、無參數(shù)輸入時返回當前畫筆顏色。(colorstring)參數(shù)表示顏

15、色得字符串;(r,g,b)參數(shù)表示顏色對應得RGEBS顏色顏色字符串GRB十六進制顏色顏色字符串GRB十六進制黑色black0,0,0#FFFFFF白色white255,255,255#000000灰色grey190,190,190#BEBEBE形狀繪制函數(shù), turtle 、fd(distance):控制畫筆向當前行進方向前進 distance、值為負數(shù)表示 向相反方向前進別名:turtle 、forward(distance)煮攢費劍彳復凜緒。> turtle 、seth(to_angle):控制畫筆繪制方向、(to_angle )參數(shù)就是絕對方向 角度值(turtle 庫得坐標體系

16、以正東方向為絕對 0度、正北方向為絕對90度)蘋> turtle 、circle(radius,extent=None) :根據(jù)半徑 radius 繪制 extent 角度得弧 形radius值為正時、半徑在畫筆左側、值為負時、半徑在畫筆右側;extent為正時、畫筆逆時針前進、extent為負時、畫筆順時針倒退、extent不設置參 數(shù)或參數(shù)為None時、繪制整圓。卻餃鉞厲言甬孌。第二部分 深入Python語言第3章基本數(shù)據(jù)類型3、1數(shù)字類型> Python語言提供整數(shù)、浮點數(shù)、復數(shù) 3種數(shù)字類型整數(shù)類型整數(shù)類型共有4種進制表示:十進制、二進制、八進制與十六進制默認情況整數(shù)采用十

17、進制、其她進制需要增加引導符號進制種類引導符號描述十進制無默認情況二進制0b 或 0B由字符0與1組成八進制0o 或 0O由字符0到7組成十六進制0x 或 0X由字符0至I 9、a至I f、A至U F組成浮點數(shù)類型,浮點數(shù)類型與數(shù)學中實數(shù)得概念一致、表示帶有小數(shù)得數(shù)值,Python語言要求所有浮點數(shù)必須帶有小數(shù)部分(可以就是0)、一區(qū)分浮點數(shù)與證書類型?浮點數(shù)有2中表示方法:十進制表示與科學計數(shù)法表示科學計數(shù)法使用字母e或E作為幕得符號、以10為基數(shù),含義如下:<a>e<b>=a*10b.2,由于計算機內部采用二進制運算、浮點數(shù)進行超過15位數(shù)字計算會產生誤差使用整數(shù)表

18、達浮點數(shù)得方法就是高精確度運算得基本方法之一。,對于高精度科學計算外得絕大部分運算而言、浮點數(shù)類型已足夠可靠、一般認為浮點數(shù)類型沒有范圍限制、運算結果準確 東晉詆煙妝新爭戰(zhàn)復數(shù)類型> 復數(shù)類型表示數(shù)學中得復數(shù)復數(shù)可以瞧作就是二元有序實數(shù)對(a,b),表示為a+bj、其中a就是實數(shù)部分、簡稱實部、b就是虛數(shù)部分、簡稱虛部。窗蒯1詁惱。, Python語言中、復數(shù)得虛部通過后綴"j"或J"表示1、23e-4+5、67e+89j> 復數(shù)類型中實數(shù)部分與虛數(shù)部分得數(shù)值都就是浮點數(shù)類型、對于實數(shù)Z、可用Z、real與z、imag分別獲得它得實部與虛部8Ms奐蝦獄

19、簧(1、23e-4+5、67e+89j)、real(1、23e-4+5、67e+89j)、imag3、2數(shù)字類型得操作> Python解釋器為數(shù)字類型提供數(shù)值運算操作符、數(shù)值運算函數(shù)、類型轉換函數(shù)等操作方法內置得數(shù)值運算操作符(共 9個)操作符描述x+yx上手y之與x-yx上y y之差x*yx上手y之積操作符描述x/yx與y之商x/yx與y之整數(shù)冏、即不大于x與y之冏得最大整數(shù)x%yx與y之商得余數(shù)、也稱為模運算-xx得負值+xx本身x*yx得y次幕、即xAy?操作符運算得結果可能會改變數(shù)字類型、3種數(shù)字類型之間存在一種逐漸擴展得關系:整數(shù)一浮點數(shù)一復數(shù)?上述9個二元數(shù)學操作符都有與之對

20、應得增強賦值操作符x+=y等價于x=x+y? 模運算(%在編程中主要應用于具有周期規(guī)律得場景內置得數(shù)值運算函數(shù)(共 6個)函數(shù)描述abs(x)x得絕對值divmod(x,y)(x/y,x%y),輸出為二元組形式(也稱為元組類型)函數(shù)描述pow(x,y,z)(x*y)%z,表示該參數(shù)可省略round(x,ndigits)對x四舍五入、保留ndigits 位小數(shù)、round(x)返回四舍五入得整數(shù)值max(x1,x2,xn)x1,x2,xn得最大值、n沒有限止min(x1,x2,xn)x1,x2,xn得最小值、n沒有限止內置得數(shù)字類型轉換函數(shù)(共 3個)函數(shù)描述int(x)將x轉換為整數(shù)、x可以就

21、是浮點數(shù)或字符串float(x)將x轉換為浮點數(shù)、x可以就是整數(shù)或字符串complex(re,im)生成一個復數(shù)、實部為re、虛部為im、re可以就是整數(shù)、浮點數(shù) 或字符串、im可以就是整數(shù)或浮點數(shù)但不能為字符串> int()函數(shù)將浮點數(shù)類型轉換為整數(shù)時、小數(shù)部分會直接被舍棄> 復數(shù)不能直接轉換為其她數(shù)字類型、可通過、 real與、imag將復數(shù)得實部與虛部分別轉換3、3字符串類型及其操作字符串類型得表示字符串就是字符得序列表示? 單引號字符串:單引號表示可以使用“雙引號"作為字符串得一部分? 雙引號字符串:”雙引號表示可以使用單引號作為字符串得一部分"? 三引

22、號字符串:''三引號表示可以使用“雙引號"、單引號作為字符串得一部分 也可以換行 '''? Python字符串提供區(qū)間訪問方式、采用N:M格式。表示從字符串中從N到M (不 包含M)得字符串、可以混合使用正向遞增序號與反向遞減序號綱嘩嬲t暉腸頓。?反斜杠字符()在字符串中表示轉義1. n表示換行2. 表示反斜杠3. '表示單引號4. "表示雙引號5. t表示制表符(Tab)基本得字符串操作符(共 5個)操作符描述x+y連接兩個字符串x與yx*n 或 n*x復制n次字符串xx in s如果x就是s得子子符串、返回Ture、否則返

23、回Falsestri索引、返回第i個字符strN:M切片、返回索引第N到第M個字符內置得字符串處理函數(shù)(共 6個)函數(shù)描述len('x')返回字符串x得長度、也可返回其她組合數(shù)據(jù)類型元素個數(shù)str('x')返回任意類型x所對應得字符串形式chr(x)返回Unicode編碼x對應得單字符ord('x')返回單子符表小得 Unicode編碼hex(x)返回整數(shù)x對應十六進制數(shù)得小寫形式字符串oct(x)返回整數(shù)x對應八進制數(shù)得小寫形式字符串內置得字符串處理方法(共 43個、常用16個)在Python解釋器內部、所有數(shù)據(jù)類型都采用面向對象得方式實現(xiàn)、封

24、裝為一個類 字符串就是一個類、具有類似a、b()形式得字符串處理函數(shù)、稱為方法方法描述str、lower()返回字符串str得副本、全部字符小寫str、upper()返回字符串str得副本、全部字符大寫str、islower()當str所有字符都就是小寫時、返回Ture、否則返回Falsestr、isprintable()當str所有字符都就是可打印得、返回Ture、否則返回False方法描述str、isnumeric()當str所有字符都就是數(shù)字時、返回Ture、否則返回Falsestr、isspace()當str所有字符都就是空格、返回Ture、否則返回Flasestr、endswith(

25、suffix,start,end)strstart:end 以 suffix結尾返回 Ture、否則返回Flasestr、srartswith(prefix,start,end)strstart:end 以 prefix 開始返回 Ture、否 則返回Flasestr、split(sep=None,maxsplit=-1)返回一個列表、由str根據(jù)sep被分割得部 分構成str、count(sub,start,end返回strstart:end 中sub子用出現(xiàn)得次數(shù)str、replace(old,new,count)返回子符串str得副本、所有old子用被哲 換為newA如果count給出、

26、則前count次 old出現(xiàn)被哲換str、 center(width,fillchar)字符串居中函數(shù)str、strip(chars)返回字符串str得副本、在其左側與右側去 掉chars中列出得字符str、zfill(width)返回子符串str副本、長度為width。不足部 分在其左側添加0描述方法str、format()返回字符串str得一種排版格式返回一個新字符串、由組合數(shù)據(jù)類型str、join(iterable)iterable 變量得每個元素組成、元素間用str分隔3、4字符串類型得格式化? 字符串通過format()方法進行格式化處理字符串格式化用于解決字符串與變量同時輸出時得格

27、式安排format()方法得基本使用? 字符串format()方法得基本使用格式:字模板符串、format(逗號分隔得參數(shù)),模板字符串由一系列槽組成、用來控制修改字符串中嵌入值出現(xiàn)得位置(槽用 表示、如果中沒有序號、則按照出現(xiàn)順序替換)說鋤彌椿t輔嘩。, 如需輸入、采用表示; 表示"圓周率12就是0"、format("無理數(shù)",3、1415926,"-")format()方法得格式控制format()方法模板字符用得槽除了包括參數(shù)序號、還可包括格式控制信息。槽內部樣式:參數(shù)序號: 格式控制標記纖駐闊薨嫵滲詛。格式控制標記用于控制參數(shù)

28、顯示時得格式:即充對齊寬 度<,>、精度,英型:即充對齊寬 度<,>V、精度,V英型引 導 符 號用于填 充得單 個字符4對齊、右對 齊、A居中 對齊槽得 設定 輸出 寬度數(shù)字得千 位分隔符 適用于整 數(shù)與浮點 數(shù)浮點數(shù)小數(shù) 部分得精度 或字符串得 最大輸出長 度整數(shù)類型b,c,d,o,x,X ;浮點 數(shù)類型e,E,f,%?填充 指寬度內除了參數(shù)外得字符采用什么方式表示、默認為空格?對齊 指參數(shù)在寬度內輸出時得對齊方式?寬度,指當前槽得設定輸出字符寬度、若實際參數(shù)長度比設定值大、則使用參數(shù)實際長度?,用于顯示數(shù)字類型得千分位分隔符?、精度,對于浮點數(shù)、表示小數(shù)部分輸出得

29、有效位數(shù);對于字符串、表示輸出得最大長度?類型 表示輸出整數(shù)好浮點數(shù)類型得格式規(guī)劃。對于整數(shù)類型、1. b:整數(shù)得二進制;2. c:整數(shù)對應得Unicode字符;3. d:整數(shù)得十進制;4. o:整數(shù)得八進制5. x:整數(shù)得小寫十六進制6. X:整數(shù)得大寫十六進制對于浮點數(shù)類型、7. e:浮點數(shù)對應得小寫字母e得指數(shù)形式8. E:浮點數(shù)對應得大寫字母E得指數(shù)形式9. f :浮點數(shù)得標準浮點形式10. %浮點數(shù)得百分形式第4章程序得控制結構4、1程序得基本結構程序流程圖起止框表示一個程序得開始與結束 判斷框判斷一個條件就是否成立、并根據(jù)判斷結果不同選擇不同得執(zhí)行路徑 處理框表示一組處理過程 輸入

30、/輸出框表示數(shù)據(jù)輸入或結果輸出 注釋框增加程序得解釋 流向線以帶箭頭得直線或曲線形式指示程序得執(zhí)行路徑 連接點將多個流程圖連接到一起程序得基本結構程序有3種基本結構組成:順序結構、分支結構與循環(huán)結構順序結構:程序按照線性順序依次執(zhí)行分支結構:程序根據(jù)條件判斷結果而選擇不同向前執(zhí)行路徑得一種運行方式(分支結構包括單分支結構與二分支結構; p97)而彳讖縝瓚言丁蜃循環(huán)結構:程序根據(jù)條件判斷結果向后反復執(zhí)行(根據(jù)觸發(fā)條件不同、循環(huán)結構包 括條件循環(huán)與遍歷循環(huán))4、2程序得分支結構單分支機構:if語句if語句語法格式:if 條件:語句塊語句塊就是if條件滿足后執(zhí)行得一個或多個語句序列語句塊中語句通過與

31、if所在行形成縮進表達包含關系if語句首先評估條件得結果值、若為 Ture則執(zhí)行語句塊中得語句序列;若為 False則跳過語句塊中得語句彳復戢緋癬馳tif語句中條件部分可以使用任何能夠產生Ture或False得語句或函數(shù)形成判斷條件最常見得方式就是采用關系操作符關系操作符數(shù)學符號操作符含義<<小于>><二小于等于>=>大于等于=等于!=不等于> Python使用"="表示賦值語句、使用"="表示等于二分支結構:if-else 語句if-else語句語法格式:if <條件>:< 語句塊1&g

32、t;else < 條件 >:< 語句塊2>,二分支語句用于區(qū)分條件得兩種可能,if條件滿足時執(zhí)行語句塊1,if條件不滿足時執(zhí)行語句塊2二分支結構得簡潔表達(適合通過判斷返回特定值)表達式1> if < 條件>else < 表達式2>表達式1/2 一般就是數(shù)字類型或字符串類型得一個值多分支結構:if-elif-else 語句if-elif-else語句語法格式:if <條件1 >:< 語句塊1>elif < 條件 2>:< 語句塊2>、else:< 語句塊N>,Python依次評估尋

33、找第一個結果為Ture得條件、執(zhí)行該條件下得語句并跳過整個if-elif-else 結構、執(zhí)行后面得語句責例鞫哪O%如果沒有任何條件成立、執(zhí)行 else下面得語句塊else語句就是可選得4、3程序得循環(huán)結構遍歷循環(huán):for語句for語句語法格式for 循環(huán)變量 in 遍歷2構:語句塊,遍歷循環(huán)可以理解為從遍歷結構中中逐一提取元素、放在循環(huán)變量中、對于所提取得每個元素執(zhí)行一次語句塊循環(huán)N次:for i in rang(N):語句塊遍歷文件得每一行:for line in fi :語句塊遍歷字符串sfor c in s:語句塊遍歷列表lsfor item in Is:<語句塊>遍歷循環(huán)

34、得擴展模式for <循環(huán)變量> in <遍歷2構>:< 語句塊1>else:< 語句塊2>當for循環(huán)正常執(zhí)行后、程序會繼續(xù)執(zhí)行else語句遍歷循環(huán):while語句while語句語法格式while < 條件 >:< 語句塊>?當條件判斷為Ture時、循環(huán)體重復執(zhí)行語句塊中得語句;當條件為Flase時、循環(huán)終止、執(zhí)行與 while同級別縮進得后續(xù)語句艱滲鷹籃慣燙息無限循環(huán)得擴展模式while < 條件>:< 語句塊1>else :< 語句塊2>當while循環(huán)正常執(zhí)行后、程序會繼續(xù)執(zhí)行 e

35、lse語句中得內容、else語句只在循環(huán)正常執(zhí)行后才執(zhí)行循環(huán)保留字: break與continue, break用來跳出最內層for或while循環(huán)、脫離該循環(huán)后程序從循環(huán)代碼后繼續(xù)執(zhí) 行? continue用來結束當前當次循環(huán)、即跳出循環(huán)體中下面尚未執(zhí)行得語句、但不跳 出當前循環(huán)for s in "BIT": for i in rang( 2): print(s, end="")if s= "I": break >>>BBTTbreak語句與continue語句得區(qū)別就是,break語句結束整個循環(huán)過程、不再判斷

36、執(zhí)行循環(huán)得條件就是否成立;continue語句只結束本次循環(huán)、而不終止整個循環(huán)得執(zhí) 行預歿燎郭趕奧喙for循環(huán)與while循環(huán)中都有一個else擴展用法。else語句僅在循環(huán)正常遍歷了所有內 容或由于條件不成立而結束循環(huán)得條件下執(zhí)行。愛內衛(wèi)痂蟹淘鶉。for s in "PYTHON"if s = "T":continueprint (s,end="")else :print ("正常退出")>>>PYHON正常退出for s in "PYTHON"if s = "T&

37、quot;:breakprint (s,end="")else :print ("正常退出")>>>PY4、4 random庫得使用random庫采用梅森旋轉算法生成偽隨機數(shù)序列、可用于除隨機性要求更高得加解密算法 外得大多數(shù)工程應用?Python內置得random庫主要用于產生各種分布得偽隨機數(shù)序列?random庫提供9個常用函數(shù)函數(shù)描述seed(a=None)初始化隨機數(shù)種子、默認值為當前系統(tǒng)時間random()生成一個0、0,1、0之間得隨機小數(shù)randint(a,b)生成一個a,b之間得整數(shù)函數(shù)描述getrandbits(k)生

38、成一個k比特長度得隨機整數(shù)randrange(start,stop,step)生成一個start,stop 之間以step為步數(shù)得隨機整數(shù)uniform(a,b)生成一個a,b之間得隨機小數(shù)choice(seq)從序列類型、例如列表中隨機返回一個元素shuffle(seq)將序列類型中得元素隨機排列、返回打亂后得序列sample(pok,k)從pop類型中隨機選取k個元素、以列表類型返回,生成隨機數(shù)之前可通過seed()函數(shù)指定隨機數(shù)種子、隨機數(shù)種子一般就是一個整數(shù)、只要種子相同、每次生成得隨機數(shù)序列也相同就紹貫蹣加奇轅。4、5程序得異常處理Python通過try、except等保留字提供異常

39、處理功能 異常處理:try-except 語句? Python使用try-except 語句實現(xiàn)異常處理 try : < 語句塊1> except <異常類型>:< 語句塊2>異常得高級用法try-except 語句可以支持多個except語句try :< 語句塊1>except < 異常類型1 >:< 語句塊2>、except < 異常類型 N>:< 語句塊N+1>except < 異常類型 N+! >:< 語句塊N+2>,異常語句還可以與else與finally保留字配合

40、使用try :< 語句塊1>:except < 異常類型1 >:< 語句塊2>else:< 語句塊3>finally :< 語句塊4>第5章函數(shù)萬代碼復用5、1函數(shù)得基本使用函數(shù)得定義,函數(shù)就是一段具有特定功能得、可重用得語句組,使用函數(shù)主要有兩個目得:降低編程難度與代碼重用,Python使用def保留字定義一個函數(shù)def 函數(shù)名 (參數(shù)列表): 函數(shù)體return 返回值列表函數(shù)名可以就是任何有效得Python標識符參數(shù)列表就是調用該函數(shù)就是傳遞給它得值、可以有零個(保留圓括號)、一個或 多個(用逗號分隔)函數(shù)體就是函數(shù)每次被調用就

41、是執(zhí)行得代碼當需要返回值時使用保留字return與返回值劉表、否則函數(shù)可以沒有 return語 句、在函數(shù)體結束時將控制權返回給調用者 揪飭瓚達虛瀏。函數(shù)調用與執(zhí)行得一般形式函數(shù)名 ( 參數(shù)列表)函數(shù)得調用過程1. 調用程序在調用處暫停執(zhí)行2. 在調用時將實參復制給形參3.執(zhí)行函數(shù)體語句4.函數(shù)調用結束給出返回值、程序回到調用前得暫停處繼續(xù)執(zhí)行l(wèi)ambda函數(shù)? lambda函數(shù)又稱匿名函數(shù)、將函數(shù)名作為函數(shù)結果返回函數(shù)名=lambda參數(shù)列表 : 表達式lambda函數(shù)與正常函數(shù)一樣、等價于下面表達式:def 函數(shù)名 (參數(shù)列表):return表達式? lambda函數(shù)用于定義簡單得、能夠在

42、一行內表示得函數(shù)、返回一個函數(shù)類型f= lambda q,w,e,r:q+w+e+rf( 1, 2, 3, 4)10? lambda函數(shù)用于需要函數(shù)對象得場景5、2函數(shù)得參數(shù)傳遞函數(shù)可定義可選參數(shù)、使用參數(shù)得位置或名稱傳遞參數(shù)值、根據(jù)函數(shù)中變量得不同作用域 有不同得函數(shù)返回值方式可選參數(shù)與可變數(shù)量參數(shù)?函數(shù)定義時部分參數(shù)可直接為存在默認值得參數(shù)指定默認值、當函數(shù)被調用時如果沒有傳入對應得參數(shù)值則使用函數(shù)定義時得得默認值替代趨瓢紓務®?默認參數(shù)必須指向不變對象,函數(shù)調用時需要按順序輸入?yún)?shù)、可選參數(shù)必須定義在非可選參數(shù)后dfe r(str, times =2):print (str*

43、times )r( "T")TTr( "T"), 函數(shù)定義時可設計可變數(shù)量參數(shù)、通過在參數(shù)前加星號 (*)實現(xiàn), 帶有星號得可變參數(shù)只能出現(xiàn)在參數(shù)列表最后、調用時這些參數(shù)被單指元組類型傳 遞到函數(shù)中def vfunc (a,*b)print(type(b)for n in b:a+=nreturn avfunc( 1, 2, 3, 4, 5)<class ' tuple '>15 #1+2=3;3+3=6;6+4=10;10+5=15參數(shù)得位置與名稱傳遞, 函數(shù)定義時實參默認采用按照位置順序得方式傳遞給函數(shù)、這種方式在參數(shù)很多

44、得 情況下可讀性較差? Python提供了按照形參名稱輸入實參得方式、調用函數(shù)時指定參數(shù)名稱、參數(shù)之 問得順序可任意調整函數(shù)得返回俏? return語句用來退出函數(shù)并將程序返回到函數(shù)被調用得位置繼續(xù)執(zhí)行? return語句可同時將0個、1個或多個函數(shù)運算后得結果返回給函數(shù)被調用得位置?函數(shù)可以沒有return、此時函數(shù)不返回值?函數(shù)也可以用return返回多個值、多個值以元組類型保存def func (a,b):return b,as=func( "t" , 2)print(s,type(s)(2, 't' ) < class ' tuple

45、'>5、4 datetime 庫得使用Python時間處理得標準函數(shù)庫datetime提供里一批顯示日期與時間得格式化方法。datetime庫概述datetime庫可以從系統(tǒng)中獲得時間、并以用戶選擇得格式輸出? datetime庫以格林威治時間為基礎、每天由 3600*24秒精準定義 datetime庫以類得方式提供多種日期與時間駝燦藺軒蝕久俄鐵。1. datetime、date:日期表示類、坑人表示年、月、日等。2. datetime、time :時間表示類、可表示小時、分鐘、秒、毫秒等。3. datetime、datetime :日期與時間表示類、功能覆蓋 date與time

46、類。4. datetime、timedelta :與時間間隔有關得類。5. datetime、tzinfo :與時區(qū)有關得信息表示類。datetime 庫解析 (datetime 類)? datetime、datetime類得使用方式就是首先創(chuàng)建一個datetime對象、然后通過對象得方法與屬性顯示時間創(chuàng)建datetime對象得3種方法:瑣黝勾簧靜齒鶉。1. datetime、now():返回一個datetime類型、表示當前日期與時間、精確到毫秒>>>from datetime import datetime>>>now=datetime、now()>

47、;>>nowdatetime 、datetime( 2018, 5, 13, 16, 49, 38, 627464)2. datetime、utcnow():返回一個datetime類型、表示當前日期與時間得 UTC(世 界標準時間)表示、精確到毫秒 嘮摩系副綁鱷氤>>>from datetime import datetime>>>utcnow=datetime 、now()>>>utcnowdatetime、datetime( 2018, 5, 13, 8, 53, 59, 788612)3. 直接使用datetime()構

48、造一個日期與時間對象:datetime(Y,M,D,hour=0,minute=0,second=0,microsecond=0)鳴偵檐翅紉計錨。>>>some=datetime( 2018, 5, 13, 17, 0, 0, 0)>>>somedatetime 、datetime( 2018, 5, 13, 17, 0)-創(chuàng)建datetime對象后、可利用該對象得屬性顯示時間 (以上述“ somS為例)datetime類得常用屬性屬性描述some, min周止返回datetime得最小時間對象、datetime(1,1,1,0,0)some, max固止返

49、回datetime得最大時間對象、datetime(9999,12,31,23,59,59,999999)some, year返回some包含得年份some, month返回some包含得月份some, day返回some包含得日期some, hour返回some包含得小時some, minute返回some包含得分鐘some. second返回some包含得秒鐘some.microsecond返回some包含得毫秒datetime類得常用時間格式化方法屬性描述some. isofomat()采用ISO8601標準顯示時間some. isoweekday()根據(jù)日期計算星期some. strf

50、time()根據(jù)格式化字符串format進行格式顯示得方法strftime()方法用于輸出特定格式時間格式化字符串對象取值范圍%Y年00019999%m月112%B月名JanuaryDecember%b月名縮寫JanDec%d日期0131%A星期MondaySunday%a星期縮寫MonSum%H小時(24h制)0023格式化字符串對象取值范圍%I小時(12h制)0112%p上、下午AM/PM%M分鐘0059%S秒0059>>>some=datetime( 2018, 5,13,17, 0, 0,0)>>>soma strftime("%丫年mM

51、%d日、H時,")'2018 年05月13日、17時00分00秒>>>print('今天就是0:%丫年0:%m月0:%d日、format(some)今天就是2018年05月13日5、5代碼復用與模塊化設計,當代編程語言從代碼層面采用函數(shù)與對象兩種抽象方式、分別對應面向過程與面向對象兩種編程思想,函數(shù)就是程序得一種基本抽象方式、它將一系列代碼組織起來通過命名提供其她程序使用、任何其她代碼只有輸入?yún)?shù)即可調用函數(shù)、更新函數(shù)功能時、所有被調用處 得功能都被更新。辮瞅怖訊羅獻,對象就是程序得一中高級抽象方式、它將程序代碼組織為更高級得類。對象包括表征對象特征

52、得屬性與代表對象操作得方法。情隔舌慧那情氧,模塊化設計值通過函數(shù)或對象得封裝功能將程序劃分成主程序、子程序與子程序問關系得表達。模塊化設計得兩個基本要求:1. 緊耦合:盡可能合理劃分功能塊、功能塊內部耦合緊密2. 松耦合:模塊間關系盡可能簡單、功能塊之間耦合度低5、6函數(shù)得遞歸遞歸得定義:函數(shù)定義中調用函數(shù)自身得方式稱為遞歸?數(shù)學經典遞歸案例一一階乘n!=n(n-1)(n-2)、(1)n!=1 ( n=0)n!=n(n-1)! ( otherwise )?遞歸得兩個關鍵特征1. 存在一個或多個基例、基例不需要再次遞歸、就是確定得表達式2. 所有遞歸鏈要以一個或多個基例結尾遞歸得使用方法def

53、fact (n):if n= 0:return 1else :return n*fact(n -1 )num=eval(input('請輸入一個整數(shù):')print(fact(abs(int(num)?使用遞歸一定要注意基例得構建、否則遞歸無法返回5、7科赫曲線繪制科赫曲線屬于分形幾何分支、它得繪制過程體現(xiàn)了遞歸思想from turtle import *def koch(size,n):if n= 0:fd(size)else :for angle in 0, 60,-120 , 60:left(angle)koch(size/3,n -1 ) # 遞歸def main(si

54、ze,level):setup( 600, 600) #設置主窗體大小speed( 0) #設置畫筆速度、(110)hideturtle() # 隱藏 turtle 箭頭penup()goto( -150,50)pendown()pensize( 1) #設置畫筆尺寸koch(size,level)right(120)koch(size,level)right(120)koch(size,level)main( 300,3)5、8 Python內置函數(shù)Python提供68個內置函數(shù)abs() all() any() asci() bin() bool() chr()complex。dict()

55、 divmod() eval()float() hash() hex() id() input() int() len() list()max() min() oct() open() ord() pow() print() range() reversed。 round() set() sorted() str() tuple() type() zip() bytes() delattr() bytearray() callable。 classmethod() compile。dir() exec() enumerate。 filter() format() frozenset() getattr() globals() hasattr() help() isinstance() issubclass()iter()locals() map() memoryview() next() object() properyty() repr() setattr() slice() staticmethod()sum()super()vars()_impor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論