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

下載本文檔

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

文檔簡(jiǎn)介

1、Python基礎(chǔ)學(xué)習(xí)筆記基于« Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)(第2版)第一部分 初識(shí)Python語(yǔ)言第1章程序設(shè)計(jì)基本方法1、1計(jì)算機(jī)得概念?計(jì)算機(jī)就是根據(jù)指令操作數(shù)據(jù)得設(shè)備、具備功能性與可編程性兩個(gè)基本特性。?計(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年后某個(gè)時(shí)期開(kāi)始、“人工智能階段”。1、2程序設(shè)計(jì)語(yǔ)言1、2、1程序設(shè)計(jì)語(yǔ)言概述?機(jī)器語(yǔ)言:直接使用二進(jìn)制代碼表達(dá)指令、可被計(jì)算機(jī)硬件直接識(shí)別與執(zhí)行。不同計(jì)

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

3、世界。?學(xué)習(xí)一門編程語(yǔ)言(重點(diǎn)在于練習(xí))1. 掌握該語(yǔ)言得語(yǔ)法2. 結(jié)合問(wèn)題設(shè)計(jì)程序結(jié)構(gòu)3. 掌握解決問(wèn)題得能力1、3Python語(yǔ)言概述1、3、1 Python語(yǔ)言得發(fā)展Python語(yǔ)言就是一個(gè)語(yǔ)法簡(jiǎn)潔、跨平臺(tái)、可擴(kuò)展得開(kāi)源通用腳本語(yǔ)言。?Python語(yǔ)言誕生于1990年、創(chuàng)世人為 Guido。?2000年10月、Python 2、0正式發(fā)布、2010年、Python 2、x系列發(fā)布最后一版(2、7) 0篩濫類用!礎(chǔ)瀉。?2008年12月、Python 3、0正式發(fā)布、解釋器內(nèi)部采用完全面向?qū)ο蟮梅绞綄?shí)現(xiàn)、代價(jià)就是3、x系列版本無(wú)法向下兼容2、x系列得既有語(yǔ)法。Sj侈!境M漳訃。Python

4、 2、x已經(jīng)就是遺產(chǎn)、Python 3、x就是這個(gè)語(yǔ)言得現(xiàn)在與未來(lái)。1、3、2編寫Hello程序print ("Hello World")1、3、3 Python語(yǔ)言得特點(diǎn)1語(yǔ)法簡(jiǎn)潔1可跨平臺(tái)1應(yīng)用廣泛1支持中文'強(qiáng)制可讀:通過(guò)強(qiáng)制縮進(jìn)體現(xiàn)語(yǔ)句問(wèn)得邏輯關(guān)系提高了程序得可讀性1 模式多樣:語(yǔ)法層面同時(shí)支持面向過(guò)程與面向?qū)ο髢煞N編程方式'粘性擴(kuò)展:通過(guò)接口與函數(shù)集成其她語(yǔ)言編寫得代碼'開(kāi)源理念'庫(kù)類豐富1、4 Python語(yǔ)言開(kāi)發(fā)環(huán)境配置> Python解釋器> IDLE開(kāi)發(fā)環(huán)境> 交互式啟動(dòng)> 文件式啟動(dòng)> Pyt

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

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

7、d)也被稱為關(guān)鍵字、就是被編程語(yǔ)言內(nèi)部定義并保留使用得標(biāo)識(shí) 符? Python得標(biāo)準(zhǔn)庫(kù)提供了一個(gè)keyword模塊、可以輸出當(dāng)前版本得所有關(guān)鍵字:>>> import keyword>>> ls=keyword 、kwlist>>> Is>>>len(ls)33Python 3 有33個(gè)保留字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 )類型在程序中表示文本?字符串就是字符得序列、可以按照單個(gè)字符或字符片段進(jìn)行索引?字符串包括兩種序號(hào)體系:正向遞增序號(hào)、反向遞減序號(hào)?正向遞增序號(hào):0L-1?反向遞減序號(hào):-L-1?區(qū)間訪問(wèn)方式:N: M(不包含M)、可以混合使用正向遞增序號(hào)與反向遞減序號(hào)?字符串比較

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

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

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

12、數(shù)b()面向?qū)ο缶幊叹褪且环N基于對(duì)象得編程范式。對(duì)象就是事物得一種抽象、就是一個(gè)實(shí)體、包含屬性與方法兩部分。屬性就是對(duì)象中得變量、方法就是對(duì)象能完成得操作。WWBWtt?通過(guò)保留字import引用函數(shù)庫(kù)1. import 庫(kù)名:程序調(diào)用庫(kù)中所有函數(shù)、使用庫(kù)中函數(shù)格式如下庫(kù)名 、函數(shù)名 ( 函數(shù)參數(shù))import turtleturtle 、 fd( 100) #控制畫(huà)筆向當(dāng)前行進(jìn)方向前進(jìn)1002. from 庫(kù)名 import :from 庫(kù)名 import 函數(shù)名,函數(shù)名,函數(shù)名from 庫(kù)名 import *、“ * ”就是通配符、表示所有函數(shù)篷謖緒暫壩。? 調(diào)用庫(kù)中函數(shù)不再需要使用庫(kù)名、

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

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

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

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

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

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

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

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

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

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

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

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

25、suffix,start,end)strstart:end 以 suffix結(jié)尾返回 Ture、否則返回Flasestr、srartswith(prefix,start,end)strstart:end 以 prefix 開(kāi)始返回 Ture、否 則返回Flasestr、split(sep=None,maxsplit=-1)返回一個(gè)列表、由str根據(jù)sep被分割得部 分構(gòu)成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得副本、在其左側(cè)與右側(cè)去 掉chars中列出得字符str、zfill(width)返回子符串str副本、長(zhǎng)度為width。不足部 分在其左側(cè)添加0描述方法str、format()返回字符串str得一種排版格式返回一個(gè)新字符串、由組合數(shù)據(jù)類型str、join(iterable)iterable 變量得每個(gè)元素組成、元素間用str分隔3、4字符串類型得格式化? 字符串通過(guò)format()方法進(jìn)行格式化處理字符串格式化用于解決字符串與變量同時(shí)輸出時(shí)得格

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

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

29、有效位數(shù);對(duì)于字符串、表示輸出得最大長(zhǎng)度?類型 表示輸出整數(shù)好浮點(diǎn)數(shù)類型得格式規(guī)劃。對(duì)于整數(shù)類型、1. b:整數(shù)得二進(jìn)制;2. c:整數(shù)對(duì)應(yīng)得Unicode字符;3. d:整數(shù)得十進(jìn)制;4. o:整數(shù)得八進(jìn)制5. x:整數(shù)得小寫十六進(jìn)制6. X:整數(shù)得大寫十六進(jìn)制對(duì)于浮點(diǎn)數(shù)類型、7. e:浮點(diǎn)數(shù)對(duì)應(yīng)得小寫字母e得指數(shù)形式8. E:浮點(diǎn)數(shù)對(duì)應(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)程序流程圖起止框表示一個(gè)程序得開(kāi)始與結(jié)束 判斷框判斷一個(gè)條件就是否成立、并根據(jù)判斷結(jié)果不同選擇不同得執(zhí)行路徑 處理框表示一組處理過(guò)程 輸入

30、/輸出框表示數(shù)據(jù)輸入或結(jié)果輸出 注釋框增加程序得解釋 流向線以帶箭頭得直線或曲線形式指示程序得執(zhí)行路徑 連接點(diǎn)將多個(gè)流程圖連接到一起程序得基本結(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語(yǔ)句if語(yǔ)句語(yǔ)法格式:if 條件:語(yǔ)句塊語(yǔ)句塊就是if條件滿足后執(zhí)行得一個(gè)或多個(gè)語(yǔ)句序列語(yǔ)句塊中語(yǔ)句通過(guò)與

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

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

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

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

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

36、執(zhí)行循環(huán)得條件就是否成立;continue語(yǔ)句只結(jié)束本次循環(huán)、而不終止整個(gè)循環(huán)得執(zhí) 行預(yù)歿燎郭趕奧喙for循環(huán)與while循環(huán)中都有一個(gè)else擴(kuò)展用法。else語(yǔ)句僅在循環(huán)正常遍歷了所有內(nèi) 容或由于條件不成立而結(jié)束循環(huán)得條件下執(zhí)行。愛(ài)內(nèi)衛(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庫(kù)得使用random庫(kù)采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列、可用于除隨機(jī)性要求更高得加解密算法 外得大多數(shù)工程應(yīng)用?Python內(nèi)置得random庫(kù)主要用于產(chǎn)生各種分布得偽隨機(jī)數(shù)序列?random庫(kù)提供9個(gè)常用函數(shù)函數(shù)描述seed(a=None)初始化隨機(jī)數(shù)種子、默認(rèn)值為當(dāng)前系統(tǒng)時(shí)間random()生成一個(gè)0、0,1、0之間得隨機(jī)小數(shù)randint(a,b)生成一個(gè)a,b之間得整數(shù)函數(shù)描述getrandbits(k)生

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

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

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

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

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

43、times )r( "T")TTr( "T"), 函數(shù)定義時(shí)可設(shè)計(jì)可變數(shù)量參數(shù)、通過(guò)在參數(shù)前加星號(hào) (*)實(shí)現(xiàn), 帶有星號(hào)得可變參數(shù)只能出現(xiàn)在參數(shù)列表最后、調(diào)用時(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í)參默認(rèn)采用按照位置順序得方式傳遞給函數(shù)、這種方式在參數(shù)很多

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

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

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

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

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

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

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

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

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

53、fact (n):if n= 0:return 1else :return n*fact(n -1 )num=eval(input('請(qǐng)輸入一個(gè)整數(shù):')print(fact(abs(int(num)?使用遞歸一定要注意基例得構(gòu)建、否則遞歸無(wú)法返回5、7科赫曲線繪制科赫曲線屬于分形幾何分支、它得繪制過(guò)程體現(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) #設(shè)置主窗體大小speed( 0) #設(shè)置畫(huà)筆速度、(110)hideturtle() # 隱藏 turtle 箭頭penup()goto( -150,50)pendown()pensize( 1) #設(shè)置畫(huà)筆尺寸koch(size,level)right(120)koch(size,level)right(120)koch(size,level)main( 300,3)5、8 Python內(nèi)置函數(shù)Python提供68個(gè)內(nèi)置函數(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論