![等考二級python-第4章-函數(shù)和代碼復(fù)用_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/76938aca-b2d5-4128-9d12-821ffb17cb53/76938aca-b2d5-4128-9d12-821ffb17cb531.gif)
![等考二級python-第4章-函數(shù)和代碼復(fù)用_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/76938aca-b2d5-4128-9d12-821ffb17cb53/76938aca-b2d5-4128-9d12-821ffb17cb532.gif)
![等考二級python-第4章-函數(shù)和代碼復(fù)用_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/76938aca-b2d5-4128-9d12-821ffb17cb53/76938aca-b2d5-4128-9d12-821ffb17cb533.gif)
![等考二級python-第4章-函數(shù)和代碼復(fù)用_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/76938aca-b2d5-4128-9d12-821ffb17cb53/76938aca-b2d5-4128-9d12-821ffb17cb534.gif)
![等考二級python-第4章-函數(shù)和代碼復(fù)用_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/76938aca-b2d5-4128-9d12-821ffb17cb53/76938aca-b2d5-4128-9d12-821ffb17cb535.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、全國計算機等級考試二級教程全國計算機等級考試二級教程Python語言語言程序設(shè)計程序設(shè)計(2018年版)【第第4章章】函數(shù)和代碼復(fù)用函數(shù)和代碼復(fù)用n 函數(shù)的定義和使用n 函數(shù)的參數(shù)傳遞: 可選參數(shù)傳遞、參數(shù)名稱傳遞、函數(shù)的返回值n 變量的作用域: 局部變量和全局變量考綱考點知識導(dǎo)圖函數(shù)的基本使用n 函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調(diào)用。經(jīng)過定義,一組語句等價于一個函數(shù),在需要使用這組語句的地方,直接調(diào)用函數(shù)名稱即可。n 因此,函數(shù)的使用包括兩部分:函數(shù)的定義函數(shù)的定義和函數(shù)函數(shù)的使用的使用。n 函數(shù)是一種功能抽象。函數(shù)的定義n Python定義一個函數(shù)使用def保留
2、字,語法形式如下:def (): return 函數(shù)的定義n 函數(shù)名可以是任何有效的Python標(biāo)識符n 參數(shù)列表是調(diào)用該函數(shù)時傳遞給它的值,可以有零個、一個或多個,當(dāng)傳遞多個參數(shù)時各參數(shù)由逗號分隔,當(dāng)沒有參數(shù)時也要保留圓括號。n 函數(shù)體是函數(shù)每次被調(diào)用時執(zhí)行的代碼,由一行或多行語句組成。函數(shù)的定義函數(shù)的定義123456#定義一個對整數(shù)定義一個對整數(shù)n求階乘的函數(shù)求階乘的函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturnsn 如果需要返回值,使用保留字return和返回值列表。函數(shù)可以沒有return語句,函數(shù)體結(jié)束后會將控制權(quán)返回給調(diào)用者。n 定義后的
3、函數(shù)不能直接運行,需要經(jīng)過“調(diào)用”才能運行。調(diào)用函數(shù)的基本方法如下:()函數(shù)的使用12345678#定義一個對整數(shù)定義一個對整數(shù)n求階乘的函數(shù)求階乘的函數(shù)deffact(n):s=1foriinrange(1,n+1):s*=ireturns#調(diào)用整數(shù)階乘的函數(shù)調(diào)用整數(shù)階乘的函數(shù)print(fact(100)n 具體來說,函數(shù)的使用一共分為四個步驟:1. 函數(shù)定義2. 函數(shù)調(diào)用3. 函數(shù)執(zhí)行4. 函數(shù)返回函數(shù)的使用1. 函數(shù)定義函數(shù)定義使用def保留字將一段代碼定義為函數(shù),需要確定函數(shù)的名字、參數(shù)的名字、參數(shù)的個數(shù),使用參數(shù)名稱作為形式參數(shù)(占位符)編寫函數(shù)內(nèi)部的功能代碼。函數(shù)的使用2. 函數(shù)
4、調(diào)用函數(shù)調(diào)用通過函數(shù)名調(diào)用函數(shù)功能,對函數(shù)的各個參數(shù)賦予實際值,實際值可以是實際數(shù)據(jù),也可以是在調(diào)用函數(shù)前已經(jīng)定義過的變量。函數(shù)的使用3.函數(shù)執(zhí)行函數(shù)執(zhí)行函數(shù)被調(diào)用后,使用實際參數(shù)(賦予形式參數(shù)的實際值)參與函數(shù)內(nèi)部代碼的運行,如果有結(jié)果則進行輸出。函數(shù)的使用4.函數(shù)返回函數(shù)返回函數(shù)執(zhí)行結(jié)束后,根據(jù)return保留字的指示決定是否返回結(jié)果,如果返回結(jié)果,則結(jié)果將被放置到函數(shù)被調(diào)用的位置,函數(shù)使用完畢,程序繼續(xù)運行。函數(shù)的使用函數(shù)的參數(shù)傳遞n 函數(shù)的參數(shù)在定義時可以指定默認值,當(dāng)函數(shù)被調(diào)用時,如果沒有傳入對應(yīng)的參數(shù)值,則使用函數(shù)定義時的默認值替代,函數(shù)定義時的語法形式如下:def (, = ):
5、 return 可選參數(shù)傳遞n 需要注意,可選參數(shù)一般都放置在非可選參數(shù)的后面,即定義函數(shù)時,先給出所有非可選參數(shù),然后再分別列出每個可選參數(shù)及對應(yīng)的默認值??蛇x參數(shù)傳遞defmultiply(x,y=10):print(x*y)multiply(99)990multiply(99,2)198n Python語言同時支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù),語法形式如下:( = )參數(shù)名稱傳遞defmultiply(x,y=10):print(x*y)multiply(x=99)990multiply(y=2,x=99)198n return語句用來結(jié)束函數(shù)并將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行。n
6、return語句可以出現(xiàn)在函數(shù)中的任何部分,同時可以將0個、1個或多個函數(shù)運算的結(jié)果返回給函數(shù)被調(diào)用處的變量。函數(shù)的返回值defmultiply(x,y=10):returnx*ys=multiply(99,2)print(s)198n 函數(shù)可以沒有return,此時函數(shù)并不返回值。當(dāng)函數(shù)使用return返回多個值,可以使用一個變量或多個變量保存結(jié)果。函數(shù)的返回值defmultiply(x,y=10):returnx*y,x+ys=multiply(99,2)print(s)(198,101)a,b=multiply(99,2)print(a)198print(b)101變量的作用域n 根據(jù)程
7、序中變量所在的位置和作用范圍,變量分為局部變量局部變量和全局變量全局變量。n 局部變量僅在函數(shù)內(nèi)部,且作用域也在函數(shù)內(nèi)部,全局變量的作用域跨越多個函數(shù)。函數(shù)的返回值n 局部變量指在函數(shù)內(nèi)部使用的變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(shù)退出時變量將不再存在。n 變量z是函數(shù)multiple()內(nèi)部使用的變量,當(dāng)函數(shù)調(diào)用后,變量z將不存在。局部變量defmultiply(x,y=10):z=x*y#z是函數(shù)內(nèi)部的局部變量是函數(shù)內(nèi)部的局部變量returnzs=multiply(99,2)print(s)198print(z)Traceback(mostrecentcalllast):File,line1,in
8、print(z)NameError:namezisnotdefinedn 全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全部變量在函數(shù)內(nèi)部使用時,需要提前使用保留字global聲明,語法形式如下:global 全局變量n 上例中,變量n是全局變量,在函數(shù)multiply()中使用時需要在函數(shù)內(nèi)部使用global聲明,定義后即可使用。全局變量n=2#n是全局變量是全局變量defmultiply(x,y=10):globalnreturnx*y*n#使用全局變量使用全局變量ns=multiply(99,2)print(s)396n 如果未使用保留字global聲明,即使名稱相同,也不是全局
9、變量。全局變量n=2#n是全局變量是全局變量defmultiply(x,y=10):n=x*yreturnn#此處的此處的n不是全局變量不是全局變量s=multiply(99,2)print(s)198print(n)#不改變外部全局變量的值不改變外部全局變量的值2代碼復(fù)用n 函數(shù)是程序的一種基本抽象方式,它將一系列代碼組織起來通過命名供其他程序使用。n 函數(shù)封裝的直接好處是代碼復(fù)用代碼復(fù)用,任何其他代碼只要輸入?yún)?shù)即可調(diào)用函數(shù),從而避免相同功能代碼在被調(diào)用處重復(fù)編寫。代碼復(fù)用產(chǎn)生了另一個好處,當(dāng)更新函數(shù)功能時,所有被調(diào)用處的功能都被更新。代碼復(fù)用n 模塊化設(shè)計指通過函數(shù)的封裝功能將程序劃分成
10、主程序、子程序和子程序間關(guān)系的表達。模塊化設(shè)計是使用函數(shù)設(shè)計程序的思考方法,以功能塊為基本單位,一般有兩個基本要求:緊耦合緊耦合:盡可能合理劃分功能塊,功能塊內(nèi)部耦合緊密; 松耦合松耦合:模塊間關(guān)系盡可能簡單,功能塊之間耦合度低。代碼復(fù)用n 耦合性指程序結(jié)構(gòu)中各模塊之間相互關(guān)聯(lián)的程度,它取決于各模塊間接口的復(fù)雜程度和調(diào)用方式。n 緊耦合指模塊或系統(tǒng)間關(guān)系緊密,存在較多或復(fù)雜的相互調(diào)用。緊耦合的缺點在于更新一個模塊可能導(dǎo)致其它模塊變化,復(fù)用較困難。n 松耦合一般基于消息或協(xié)議實現(xiàn),系統(tǒng)間交互簡單。代碼復(fù)用n 使用函數(shù)只是模塊化設(shè)計的必要非充分條件,根據(jù)計算需求合理劃分函數(shù)十分重要。一般來說,完成
11、特定功能或被經(jīng)常復(fù)用的一組語句應(yīng)該采用函數(shù)來封裝,并盡可能減少函數(shù)間參數(shù)和返回值減少函數(shù)間參數(shù)和返回值的數(shù)量的數(shù)量。代碼復(fù)用實例解析:軟文的詩詞風(fēng)n 軟文的詩詞風(fēng)將原有文章根據(jù)標(biāo)點符號重新切分成短句并居中排版,對小屏幕閱讀十分有利。使用程序?qū)⑵胀ㄎ恼伦兂绍浳牡脑娫~風(fēng)十分有趣軟文的詩詞風(fēng)軟文的詩詞風(fēng) 12345678910111213141516171819txt=人生得意須盡歡,莫使金樽空對月。人生得意須盡歡,莫使金樽空對月。天生我材必有用,千金散盡還復(fù)來。天生我材必有用,千金散盡還復(fù)來。linewidth=30#預(yù)定的輸出寬度預(yù)定的輸出寬度deflineSplit(line):plist=,
12、!,?,,,。,!,?forpinplist:line=line.replace(p,n)returnline.split(n)deflinePrint(line):globallinewidthprint(line.center(linewidth,chr(12288)newlines=lineSplit(txt)fornewlineinnewlines:linePrint(newline)n 原始文本使用變量txt保存,程序運行效果如下。軟文的詩詞風(fēng)人生得意須盡歡人生得意須盡歡莫使金樽空對月莫使金樽空對月天生我材必有用天生我材必有用千金散盡還復(fù)來千金散盡還復(fù)來n 原始文本使用變量txt保存
13、,程序運行效果如下。軟文的詩詞風(fēng) 123456789101112txt=三國演義三國演義 上卷上卷羅貫中羅貫中滾滾長江東逝水,浪花淘盡英雄。是非成敗轉(zhuǎn)頭空。青山依舊在,幾度夕陽紅。滾滾長江東逝水,浪花淘盡英雄。是非成敗轉(zhuǎn)頭空。青山依舊在,幾度夕陽紅。白發(fā)漁樵江渚上,慣看秋月春風(fēng)。一壺濁酒喜相逢。古今多少事,都付笑談中。白發(fā)漁樵江渚上,慣看秋月春風(fēng)。一壺濁酒喜相逢。古今多少事,都付笑談中。-調(diào)寄臨江仙調(diào)寄臨江仙第一回第一回宴桃園豪杰三結(jié)義宴桃園豪杰三結(jié)義斬黃巾英雄首立功斬黃巾英雄首立功話說天下大勢,分久必合,合久必分。周末七國分爭,并入于秦。及秦滅之后,話說天下大勢,分久必合,合久必分。周末七國
14、分爭,并入于秦。及秦滅之后,楚、漢分爭,又并入于漢。漢朝自高祖斬白蛇而起義,一統(tǒng)天下,后來光武中興,楚、漢分爭,又并入于漢。漢朝自高祖斬白蛇而起義,一統(tǒng)天下,后來光武中興,傳至獻帝,遂分為三國。傳至獻帝,遂分為三國。軟文的詩詞風(fēng)三國演義三國演義 上卷上卷羅貫中羅貫中滾滾長江東逝水滾滾長江東逝水浪花淘盡英雄浪花淘盡英雄是非成敗轉(zhuǎn)頭空是非成敗轉(zhuǎn)頭空青山依舊在青山依舊在幾度夕陽紅幾度夕陽紅白發(fā)漁樵江渚上白發(fā)漁樵江渚上慣看秋月春風(fēng)慣看秋月春風(fēng)一壺濁酒喜相逢一壺濁酒喜相逢古今多少事古今多少事都付笑談中都付笑談中-調(diào)寄臨江仙調(diào)寄臨江仙第一回第一回宴桃園豪杰三結(jié)義宴桃園豪杰三結(jié)義斬黃巾英雄首立功斬黃巾英雄首立功話說天下大勢話說天下大勢分久必合分久必合合久必分合久必分周末七國分爭周末七國分爭并入于秦并入于秦及秦滅之后及秦滅之后楚、漢分爭楚、漢分爭又并入于漢又并入于漢漢朝自高祖斬白蛇而起義漢朝自高祖斬白蛇而起義一統(tǒng)天下一統(tǒng)天下后來光武中興后來光武中興傳至獻帝傳至獻帝遂分為三國遂分為三國n 當(dāng)每句長度超過變量linewdith后,顯示效果并不好。這需要修改函數(shù)linePrint(),當(dāng)一個短句行數(shù)超過限制時,分行居中顯示。軟文的詩詞風(fēng) 123456deflinePrint(line):globallinewidthwhilelen(line)linewidth:p
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度辦公室租賃及員工福利保障協(xié)議
- 合同履行擔(dān)保協(xié)議
- 服裝企業(yè)戰(zhàn)略合作協(xié)議書范本
- 2025年大同貨運車從業(yè)考試題
- 供應(yīng)商合作合同范本
- 架工承包合同
- 游戲研發(fā)游戲體驗優(yōu)化與虛擬引擎開發(fā)計劃
- 分布式能源網(wǎng)絡(luò)構(gòu)建協(xié)議
- 地磚鋪貼磚施工合同
- 特定資產(chǎn)抵押融資協(xié)議細節(jié)說明
- 公司培訓(xùn)員工職務(wù)犯罪預(yù)防講座之職務(wù)侵占
- 化學(xué)選修4《化學(xué)反應(yīng)原理》(人教版)全部完整PP課件
- 《煤礦安全規(guī)程》專家解讀(詳細版)
- 招聘面試流程sop
- 建筑公司工程財務(wù)報銷制度(精選7篇)
- 工程設(shè)計方案定案表
- 最新2022年減肥食品市場現(xiàn)狀與發(fā)展趨勢預(yù)測
- 第一章-天氣圖基本分析方法課件
- 暖氣管道安裝施工計劃
- 體育實習(xí)周記20篇
- 初二物理彈力知識要點及練習(xí)
評論
0/150
提交評論