




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
全國計算機等級考試二級教程
Python語言程序設(shè)計
(年版)第1頁【第4章】
函數(shù)和代碼復(fù)用第2頁函數(shù)定義和使用函數(shù)參數(shù)傳遞:可選參數(shù)傳遞、參數(shù)名稱傳遞、函數(shù)返回值變量作用域:局部變量和全局變量考綱考點第3頁知識導(dǎo)圖第4頁函數(shù)基本使用第5頁函數(shù)是一段含有特定功效、可重用語句組,經(jīng)過函數(shù)名來表示和調(diào)用。經(jīng)過定義,一組語句等價于一個函數(shù),在需要使用這組語句地方,直接調(diào)用函數(shù)名稱即可。所以,函數(shù)使用包含兩部分:函數(shù)定義和函數(shù)使用。函數(shù)是一個功效抽象。函數(shù)定義第6頁Python定義一個函數(shù)使用def保留字,語法形式以下:
def<函數(shù)名>(<參數(shù)列表>): <函數(shù)體> return<返回值列表>函數(shù)定義第7頁函數(shù)名能夠是任何有效Python標識符參數(shù)列表是調(diào)用該函數(shù)時傳遞給它值,能夠有零個、一個或多個,當(dāng)傳遞多個參數(shù)時各參數(shù)由逗號分隔,當(dāng)沒有參數(shù)時也要保留圓括號。函數(shù)體是函數(shù)每次被調(diào)用時執(zhí)行代碼,由一行或多行語句組成。函數(shù)定義第8頁函數(shù)定義
123456#定義一個對整數(shù)n求階乘函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns
假如需要返回值,使用保留字return和返回值列表。函數(shù)能夠沒有return語句,函數(shù)體結(jié)束后會將控制權(quán)返回給調(diào)用者。第9頁定義后函數(shù)不能直接運行,需要經(jīng)過“調(diào)用”才能運行。調(diào)用函數(shù)基本方法以下: <函數(shù)名>(<實際賦值參數(shù)列表>)函數(shù)使用
12345678#定義一個對整數(shù)n求階乘函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns#調(diào)用整數(shù)階乘函數(shù)print(fact(100))
第10頁詳細來說,函數(shù)使用一共分為四個步驟:函數(shù)定義函數(shù)調(diào)用函數(shù)執(zhí)行函數(shù)返回函數(shù)使用第11頁1.函數(shù)定義
使用def保留字將一段代碼定義為函數(shù),需要確定函數(shù)名字、參數(shù)名字、參數(shù)個數(shù),使用參數(shù)名稱作為形式參數(shù)(占位符)編寫函數(shù)內(nèi)部功效代碼。函數(shù)使用第12頁2.函數(shù)調(diào)用
經(jīng)過函數(shù)名調(diào)用函數(shù)功效,對函數(shù)各個參數(shù)賦予實際值,實際值能夠是實際數(shù)據(jù),也能夠是在調(diào)用函數(shù)前已經(jīng)定義過變量。函數(shù)使用第13頁3.函數(shù)執(zhí)行
函數(shù)被調(diào)用后,使用實際參數(shù)(賦予形式參數(shù)實際值)參加函數(shù)內(nèi)部代碼運行,假如有結(jié)果則進行輸出。函數(shù)使用第14頁4.函數(shù)返回
函數(shù)執(zhí)行結(jié)束后,依據(jù)return保留字指示決定是否返回結(jié)果,假如返回結(jié)果,則結(jié)果將被放置到函數(shù)被調(diào)用位置,函數(shù)使用完成,程序繼續(xù)運行。函數(shù)使用第15頁函數(shù)參數(shù)傳遞第16頁函數(shù)參數(shù)在定義時能夠指定默認值,當(dāng)函數(shù)被調(diào)用時,假如沒有傳入對應(yīng)參數(shù)值,則使用函數(shù)定義時默認值替換,函數(shù)定義時語法形式以下:
def<函數(shù)名>(<非可選參數(shù)列表>,<可選參數(shù)>=<默認值>): <函數(shù)體> return<返回值列表>可選參數(shù)傳遞第17頁需要注意,可選參數(shù)普通都放置在非可選參數(shù)后面,即定義函數(shù)時,先給出全部非可選參數(shù),然后再分別列出每個可選參數(shù)及對應(yīng)默認值??蛇x參數(shù)傳遞>>>defmultiply(x,y=10):print(x*y)>>>multiply(99)990>>>multiply(99,2)198第18頁Python語言同時支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù),語法形式以下: <函數(shù)名>(<參數(shù)名>=<實際值>)參數(shù)名稱傳遞>>>defmultiply(x,y=10):print(x*y)>>>multiply(x=99)990>>>multiply(y=2,x=99)198第19頁return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用位置繼續(xù)執(zhí)行。return語句能夠出現(xiàn)在函數(shù)中任何部分,同時能夠?qū)?個、1個或多個函數(shù)運算結(jié)果返回給函數(shù)被調(diào)用處變量。
函數(shù)返回值>>>defmultiply(x,y=10):returnx*y>>>s=multiply(99,2)>>>print(s)198第20頁函數(shù)能夠沒有return,此時函數(shù)并不返回值。當(dāng)函數(shù)使用return返回多個值,能夠使用一個變量或多個變量保留結(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頁變量作用域第22頁依據(jù)程序中變量所在位置和作用范圍,變量分為局部變量和全局變量。局部變量僅在函數(shù)內(nèi)部,且作用域也在函數(shù)內(nèi)部,全局變量作用域跨越多個函數(shù)。函數(shù)返回值第23頁局部變量指在函數(shù)內(nèi)部使用變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(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頁全局變量指在函數(shù)之外定義變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global申明,語法形式以下:global<全局變量>全局變量第25頁上例中,變量n是全局變量,在函數(shù)multiply()中使用時需要在函數(shù)內(nèi)部使用global申明,定義后即可使用。全局變量>>>n=2#n是全局變量>>>defmultiply(x,y=10):globalnreturnx*y*n#使用全局變量n>>>s=multiply(99,2)>>>print(s)396第26頁假如未使用保留字global申明,即使名稱相同,也不是全局變量。全局變量>>>n=2#n是全局變量>>>defmultiply(x,y=10):n=x*yreturnn#此處n不是全局變量>>>s=multiply(99,2)>>>print(s)198>>>print(n)#不改變外部全局變量值2第27頁代碼復(fù)用第28頁函數(shù)是程序一個基本抽象方式,它將一系列代碼組織起來經(jīng)過命名供其它程序使用。函數(shù)封裝直接好處是代碼復(fù)用,任何其它代碼只要輸入?yún)?shù)即可調(diào)用函數(shù),從而防止相同功效代碼在被調(diào)用處重復(fù)編寫。代碼復(fù)用產(chǎn)生了另一個好處,當(dāng)更新函數(shù)功效時,全部被調(diào)用處功效都被更新。代碼復(fù)用第29頁模塊化設(shè)計指經(jīng)過函數(shù)封裝功效將程序劃分成主程序、子程序和子程序間關(guān)系表示。模塊化設(shè)計是使用函數(shù)設(shè)計程序思索方法,以功效塊為基本單位,普通有兩個基本要求:緊耦合:盡可能合理劃分功效塊,功效塊內(nèi)部耦合緊密;松耦合:模塊間關(guān)系盡可能簡單,功效塊之間耦合度低。代碼復(fù)用第30頁耦合性指程序結(jié)構(gòu)中各模塊之間相互關(guān)聯(lián)程度,它取決于各模塊間接口復(fù)雜程度和調(diào)用方式。緊耦合指模塊或系統(tǒng)間關(guān)系緊密,存在較多或復(fù)雜相互調(diào)用。緊耦合缺點在于更新一個模塊可能造成其它模塊改變,復(fù)用較困難。松耦合普通基于消息或協(xié)議實現(xiàn),系統(tǒng)間交互簡單。代碼復(fù)用第31頁使用函數(shù)只是模塊化設(shè)計必要非充分條件,依據(jù)計算需求合理劃分函數(shù)十分主要。普通來說,完成特定功效或被經(jīng)常復(fù)用一組語句應(yīng)該采取函數(shù)來封裝,并盡可能降低函數(shù)間參數(shù)和返回值數(shù)量。代碼復(fù)用第32頁實例解析:軟文詩詞風(fēng)第33頁軟文詩詞風(fēng)將原有文章依據(jù)標點符號重新切分成短句并居中排版,對小屏幕閱讀十分有利。使用程序?qū)⑵胀ㄎ恼伦兂绍浳脑娫~風(fēng)十分有趣軟文詩詞風(fēng)第34頁軟文詩詞風(fēng)
12345678910111213141516171819txt='''人生得意須盡歡,莫使金樽空對月。天生我材必有用,千金散盡還復(fù)來。'''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頁原始文本使用變量txt保留,程序運行效果以下。軟文詩詞風(fēng)>>>
人生得意須盡歡莫使金樽空對月
天生我材必有用千金散盡還復(fù)來第36頁原始文本使用變量txt保留,程序運行效果以下。軟文詩詞風(fēng)
123456789101112txt='''三國演義上卷羅貫中
滾滾長江東逝水,浪花淘盡英雄。是非成敗轉(zhuǎn)頭空。青山依舊在,幾度夕陽紅。白發(fā)漁樵江渚上,慣看秋月春風(fēng)。一壺濁酒喜相逢。古今多少事,都付笑談中。--調(diào)寄《臨江仙》第一回宴桃園豪杰三結(jié)義斬黃巾英雄首立功話說天下大勢,分久必合,合久必分。周末七國分爭,并入于秦。及秦滅之后,楚、漢分爭,又并入于漢。漢朝自高祖斬白蛇而起義,一統(tǒng)天下,以后光武中興,傳至獻帝,遂分為三國。'''第37頁軟文詩詞風(fēng)>>>
三國演義
上卷羅貫中
滾滾長江東逝水浪花淘盡英雄是非成敗轉(zhuǎn)頭空青山依舊在幾度夕陽紅
白發(fā)漁樵江渚上慣看秋月春風(fēng)一壺濁酒喜相逢古今多少事都付笑談中
--調(diào)寄《臨江仙》
第一回宴桃園豪杰三結(jié)義斬黃巾英雄首立功話說天下大勢分久必合合久必分
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)商業(yè)合作框架合同
- 2025年護理職業(yè)素養(yǎng)提升試題及答案
- 精致備考中級會計試題及答案
- 報警系統(tǒng)工作原理試題及答案
- 2025年中級會計備考新視野的試題及答案
- 一級消防工程師考木苞述試題及答案
- 中級會計財務(wù)管理分析試題及答案
- 消防安全智能化的探索試題及答案
- 中級會計2025年考試關(guān)鍵點試題及答案
- 醫(yī)療設(shè)備升級華為波分技術(shù)助力醫(yī)療影像傳輸
- 車險理賠重大案管理辦法
- 牙科市場細分領(lǐng)域分析-洞察分析
- 第16課《經(jīng)濟危機與資本主義國家的應(yīng)對》中職高一下學(xué)期高教版(2023)世界歷史全一冊
- 貨運車隊的管理制度模版(2篇)
- 2024年貴州省貴陽市中考生物試卷(附答案)
- 管道、閥門安裝方案
- 旅游業(yè)游客滿意度調(diào)查與管理制度
- 2024年公路水運工程試驗檢測師《道路工程》考試題庫大全(含真題等)-中(多選題)
- 噴繪設(shè)備買賣合同三篇
- 四年級語文下冊 第19課《小英雄雨來》同步訓(xùn)練題(含答案)(部編版)
- 高中英語:倒裝句專項練習(xí)(附答案)
評論
0/150
提交評論