等考二級(jí)python-第4章-函數(shù)和代碼復(fù)用市公開(kāi)課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第1頁(yè)
等考二級(jí)python-第4章-函數(shù)和代碼復(fù)用市公開(kāi)課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第2頁(yè)
等考二級(jí)python-第4章-函數(shù)和代碼復(fù)用市公開(kāi)課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第3頁(yè)
等考二級(jí)python-第4章-函數(shù)和代碼復(fù)用市公開(kāi)課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第4頁(yè)
等考二級(jí)python-第4章-函數(shù)和代碼復(fù)用市公開(kāi)課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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)介

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程

Python語(yǔ)言程序設(shè)計(jì)

(年版)第1頁(yè)【第4章】

函數(shù)和代碼復(fù)用第2頁(yè)函數(shù)定義和使用函數(shù)參數(shù)傳遞:可選參數(shù)傳遞、參數(shù)名稱傳遞、函數(shù)返回值變量作用域:局部變量和全局變量考綱考點(diǎn)第3頁(yè)知識(shí)導(dǎo)圖第4頁(yè)函數(shù)基本使用第5頁(yè)函數(shù)是一段含有特定功效、可重用語(yǔ)句組,經(jīng)過(guò)函數(shù)名來(lái)表示和調(diào)用。經(jīng)過(guò)定義,一組語(yǔ)句等價(jià)于一個(gè)函數(shù),在需要使用這組語(yǔ)句地方,直接調(diào)用函數(shù)名稱即可。所以,函數(shù)使用包含兩部分:函數(shù)定義和函數(shù)使用。函數(shù)是一個(gè)功效抽象。函數(shù)定義第6頁(yè)P(yáng)ython定義一個(gè)函數(shù)使用def保留字,語(yǔ)法形式以下:

def<函數(shù)名>(<參數(shù)列表>): <函數(shù)體> return<返回值列表>函數(shù)定義第7頁(yè)函數(shù)名能夠是任何有效Python標(biāo)識(shí)符參數(shù)列表是調(diào)用該函數(shù)時(shí)傳遞給它值,能夠有零個(gè)、一個(gè)或多個(gè),當(dāng)傳遞多個(gè)參數(shù)時(shí)各參數(shù)由逗號(hào)分隔,當(dāng)沒(méi)有參數(shù)時(shí)也要保留圓括號(hào)。函數(shù)體是函數(shù)每次被調(diào)用時(shí)執(zhí)行代碼,由一行或多行語(yǔ)句組成。函數(shù)定義第8頁(yè)函數(shù)定義

123456#定義一個(gè)對(duì)整數(shù)n求階乘函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns

假如需要返回值,使用保留字return和返回值列表。函數(shù)能夠沒(méi)有return語(yǔ)句,函數(shù)體結(jié)束后會(huì)將控制權(quán)返回給調(diào)用者。第9頁(yè)定義后函數(shù)不能直接運(yùn)行,需要經(jīng)過(guò)“調(diào)用”才能運(yùn)行。調(diào)用函數(shù)基本方法以下: <函數(shù)名>(<實(shí)際賦值參數(shù)列表>)函數(shù)使用

12345678#定義一個(gè)對(duì)整數(shù)n求階乘函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns#調(diào)用整數(shù)階乘函數(shù)print(fact(100))

第10頁(yè)詳細(xì)來(lái)說(shuō),函數(shù)使用一共分為四個(gè)步驟:函數(shù)定義函數(shù)調(diào)用函數(shù)執(zhí)行函數(shù)返回函數(shù)使用第11頁(yè)1.函數(shù)定義

使用def保留字將一段代碼定義為函數(shù),需要確定函數(shù)名字、參數(shù)名字、參數(shù)個(gè)數(shù),使用參數(shù)名稱作為形式參數(shù)(占位符)編寫(xiě)函數(shù)內(nèi)部功效代碼。函數(shù)使用第12頁(yè)2.函數(shù)調(diào)用

經(jīng)過(guò)函數(shù)名調(diào)用函數(shù)功效,對(duì)函數(shù)各個(gè)參數(shù)賦予實(shí)際值,實(shí)際值能夠是實(shí)際數(shù)據(jù),也能夠是在調(diào)用函數(shù)前已經(jīng)定義過(guò)變量。函數(shù)使用第13頁(yè)3.函數(shù)執(zhí)行

函數(shù)被調(diào)用后,使用實(shí)際參數(shù)(賦予形式參數(shù)實(shí)際值)參加函數(shù)內(nèi)部代碼運(yùn)行,假如有結(jié)果則進(jìn)行輸出。函數(shù)使用第14頁(yè)4.函數(shù)返回

函數(shù)執(zhí)行結(jié)束后,依據(jù)return保留字指示決定是否返回結(jié)果,假如返回結(jié)果,則結(jié)果將被放置到函數(shù)被調(diào)用位置,函數(shù)使用完成,程序繼續(xù)運(yùn)行。函數(shù)使用第15頁(yè)函數(shù)參數(shù)傳遞第16頁(yè)函數(shù)參數(shù)在定義時(shí)能夠指定默認(rèn)值,當(dāng)函數(shù)被調(diào)用時(shí),假如沒(méi)有傳入對(duì)應(yīng)參數(shù)值,則使用函數(shù)定義時(shí)默認(rèn)值替換,函數(shù)定義時(shí)語(yǔ)法形式以下:

def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認(rèn)值>): <函數(shù)體> return<返回值列表>可選參數(shù)傳遞第17頁(yè)需要注意,可選參數(shù)普通都放置在非可選參數(shù)后面,即定義函數(shù)時(shí),先給出全部非可選參數(shù),然后再分別列出每個(gè)可選參數(shù)及對(duì)應(yīng)默認(rèn)值??蛇x參數(shù)傳遞>>>defmultiply(x,y=10):print(x*y)>>>multiply(99)990>>>multiply(99,2)198第18頁(yè)P(yáng)ython語(yǔ)言同時(shí)支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù),語(yǔ)法形式以下: <函數(shù)名>(<參數(shù)名>=<實(shí)際值>)參數(shù)名稱傳遞>>>defmultiply(x,y=10):print(x*y)>>>multiply(x=99)990>>>multiply(y=2,x=99)198第19頁(yè)return語(yǔ)句用來(lái)結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用位置繼續(xù)執(zhí)行。return語(yǔ)句能夠出現(xiàn)在函數(shù)中任何部分,同時(shí)能夠?qū)?個(gè)、1個(gè)或多個(gè)函數(shù)運(yùn)算結(jié)果返回給函數(shù)被調(diào)用處變量。

函數(shù)返回值>>>defmultiply(x,y=10):returnx*y>>>s=multiply(99,2)>>>print(s)198第20頁(yè)函數(shù)能夠沒(méi)有return,此時(shí)函數(shù)并不返回值。當(dāng)函數(shù)使用return返回多個(gè)值,能夠使用一個(gè)變量或多個(gè)變量保留結(jié)果。

函數(shù)返回值>>>defmultiply(x,y=10):returnx*y,x+y>>>s=multiply(99,2)>>>print(s)(198,101)>>>a,b=multiply(99,2)>>>print(a)198>>>print(b)101第21頁(yè)變量作用域第22頁(yè)依據(jù)程序中變量所在位置和作用范圍,變量分為局部變量和全局變量。局部變量?jī)H在函數(shù)內(nèi)部,且作用域也在函數(shù)內(nèi)部,全局變量作用域跨越多個(gè)函數(shù)。函數(shù)返回值第23頁(yè)局部變量指在函數(shù)內(nèi)部使用變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(shù)退出時(shí)變量將不再存在。變量z是函數(shù)multiple()內(nèi)部使用變量,當(dāng)函數(shù)調(diào)用后,變量z將不存在。局部變量>>>defmultiply(x,y=10):z=x*y#z是函數(shù)內(nèi)部局部變量returnz>>>s=multiply(99,2)>>>print(s)198>>>print(z)Traceback(mostrecentcalllast):File"<pyshell#11>",line1,in<module>print(z)NameError:name'z'isnotdefined第24頁(yè)全局變量指在函數(shù)之外定義變量,在程序執(zhí)行全過(guò)程有效。全部變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global申明,語(yǔ)法形式以下:global<全局變量>全局變量第25頁(yè)上例中,變量n是全局變量,在函數(shù)multiply()中使用時(shí)需要在函數(shù)內(nèi)部使用global申明,定義后即可使用。全局變量>>>n=2#n是全局變量>>>defmultiply(x,y=10):globalnreturnx*y*n#使用全局變量n>>>s=multiply(99,2)>>>print(s)396第26頁(yè)假如未使用保留字global申明,即使名稱相同,也不是全局變量。全局變量>>>n=2#n是全局變量>>>defmultiply(x,y=10):n=x*yreturnn#此處n不是全局變量>>>s=multiply(99,2)>>>print(s)198>>>print(n)#不改變外部全局變量值2第27頁(yè)代碼復(fù)用第28頁(yè)函數(shù)是程序一個(gè)基本抽象方式,它將一系列代碼組織起來(lái)經(jīng)過(guò)命名供其它程序使用。函數(shù)封裝直接好處是代碼復(fù)用,任何其它代碼只要輸入?yún)?shù)即可調(diào)用函數(shù),從而防止相同功效代碼在被調(diào)用處重復(fù)編寫(xiě)。代碼復(fù)用產(chǎn)生了另一個(gè)好處,當(dāng)更新函數(shù)功效時(shí),全部被調(diào)用處功效都被更新。代碼復(fù)用第29頁(yè)模塊化設(shè)計(jì)指經(jīng)過(guò)函數(shù)封裝功效將程序劃分成主程序、子程序和子程序間關(guān)系表示。模塊化設(shè)計(jì)是使用函數(shù)設(shè)計(jì)程序思索方法,以功效塊為基本單位,普通有兩個(gè)基本要求:緊耦合:盡可能合理劃分功效塊,功效塊內(nèi)部耦合緊密;松耦合:模塊間關(guān)系盡可能簡(jiǎn)單,功效塊之間耦合度低。代碼復(fù)用第30頁(yè)耦合性指程序結(jié)構(gòu)中各模塊之間相互關(guān)聯(lián)程度,它取決于各模塊間接口復(fù)雜程度和調(diào)用方式。緊耦合指模塊或系統(tǒng)間關(guān)系緊密,存在較多或復(fù)雜相互調(diào)用。緊耦合缺點(diǎn)在于更新一個(gè)模塊可能造成其它模塊改變,復(fù)用較困難。松耦合普通基于消息或協(xié)議實(shí)現(xiàn),系統(tǒng)間交互簡(jiǎn)單。代碼復(fù)用第31頁(yè)使用函數(shù)只是模塊化設(shè)計(jì)必要非充分條件,依據(jù)計(jì)算需求合理劃分函數(shù)十分主要。普通來(lái)說(shuō),完成特定功效或被經(jīng)常復(fù)用一組語(yǔ)句應(yīng)該采取函數(shù)來(lái)封裝,并盡可能降低函數(shù)間參數(shù)和返回值數(shù)量。代碼復(fù)用第32頁(yè)實(shí)例解析:軟文詩(shī)詞風(fēng)第33頁(yè)軟文詩(shī)詞風(fēng)將原有文章依據(jù)標(biāo)點(diǎn)符號(hào)重新切分成短句并居中排版,對(duì)小屏幕閱讀十分有利。使用程序?qū)⑵胀ㄎ恼伦兂绍浳脑?shī)詞風(fēng)十分有趣軟文詩(shī)詞風(fēng)第34頁(yè)軟文詩(shī)詞風(fēng)

12345678910111213141516171819txt='''人生得意須盡歡,莫使金樽空對(duì)月。天生我材必有用,千金散盡還復(fù)來(lái)。'''linewidth=30#預(yù)定輸出寬度

deflineSplit(line):plist=[',','!','?',',','。','!','?']forpinplist:line=line.replace(p,'\n')returnline.split('\n')

deflinePrint(line):globallinewidthprint(line.center(linewidth,chr(12288)))

newlines=lineSplit(txt)fornewlineinnewlines:linePrint(newline)第35頁(yè)原始文本使用變量txt保留,程序運(yùn)行效果以下。軟文詩(shī)詞風(fēng)>>>

人生得意須盡歡莫使金樽空對(duì)月

天生我材必有用千金散盡還復(fù)來(lái)第36頁(yè)原始文本使用變量txt保留,程序運(yùn)行效果以下。軟文詩(shī)詞風(fēng)

123456789101112txt='''三國(guó)演義上卷羅貫中

滾滾長(zhǎng)江東逝水,浪花淘盡英雄。是非成敗轉(zhuǎn)頭空。青山依舊在,幾度夕陽(yáng)紅。白發(fā)漁樵江渚上,慣看秋月春風(fēng)。一壺濁酒喜相逢。古今多少事,都付笑談中。--調(diào)寄《臨江仙》第一回宴桃園豪杰三結(jié)義斬黃巾英雄首立功話說(shuō)天下大勢(shì),分久必合,合久必分。周末七國(guó)分爭(zhēng),并入于秦。及秦滅之后,楚、漢分爭(zhēng),又并入于漢。漢朝自高祖斬白蛇而起義,一統(tǒng)天下,以后光武中興,傳至獻(xiàn)帝,遂分為三國(guó)。'''第37頁(yè)軟文詩(shī)詞風(fēng)>>>

三國(guó)演義

上卷羅貫中

滾滾長(zhǎng)江東逝水浪花淘盡英雄是非成敗轉(zhuǎn)頭空青山依舊在幾度夕陽(yáng)紅

白發(fā)漁樵江渚上慣看秋月春風(fēng)一壺濁酒喜相逢古今多少事都付笑談中

--調(diào)寄《臨江仙》

第一回宴桃園豪杰三結(jié)義斬黃巾英雄首立功話說(shuō)天下大勢(shì)分久必合合久必分

溫馨提示

  • 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)論