版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
函數(shù)目錄頁10.5 遞歸10.1 認(rèn)識函數(shù)10.2 函數(shù)的參數(shù)10.3 返回值10.4 匿名函數(shù)10.6 變量的作用域函數(shù)是組織好的、實現(xiàn)單一功能或相關(guān)聯(lián)功能的代碼段。我們可以將函數(shù)視為一段有名字的代碼,這類代碼可以在需要的地方以“函數(shù)名()”的形式調(diào)用。10.1認(rèn)識函數(shù)print()input()10.1認(rèn)識函數(shù)提到函數(shù),大家可能會想到數(shù)學(xué)函數(shù),
函數(shù)是數(shù)學(xué)中最重要的一個模塊,
貫穿整個數(shù)學(xué)。在Python中,函數(shù)的應(yīng)用非常廣泛。在前面我們已經(jīng)多次接觸過函數(shù)。例如,用于輸出的print()函數(shù)、用于輸入的input()函數(shù),以及用于生成一系列整數(shù)的range()函數(shù)。但這些都是Python內(nèi)置的標(biāo)準(zhǔn)函數(shù),可以直接使用。調(diào)用函數(shù)定義函數(shù)傳輸數(shù)據(jù)輸出值10.1.2創(chuàng)建一個函數(shù)創(chuàng)建函數(shù)也成為定義函數(shù),可以理解為創(chuàng)建一個具有某種用途的工具。使用def關(guān)鍵字實現(xiàn),具體的語法格式如下。deffunctionname([parameterlist]);[“comment”][functionbody]10.1.3調(diào)用函數(shù)函數(shù)在定義完成后不會立刻執(zhí)行,直到被程序調(diào)用時才會執(zhí)行。調(diào)用函數(shù)的方式非常簡單,其語法格式如下所示。函數(shù)名([參數(shù)列表])通常,將定義函數(shù)時設(shè)置的參數(shù)稱為形式參數(shù)(簡稱為形參),將調(diào)用函數(shù)時傳人的參數(shù)稱為實際參數(shù)(簡稱為實參)。函數(shù)的參數(shù)傳遞是指將實際參數(shù)傳遞給形式參數(shù)的過程。函數(shù)參數(shù)的傳遞可以分為位置參數(shù)的傳遞、關(guān)鍵字參數(shù)的傳遞、默認(rèn)參數(shù)的傳遞、可變參數(shù)的傳遞。10.2函數(shù)的參數(shù)10.2.1了解形式參數(shù)和實際參數(shù)defdemo(obj):print(obj)定義或創(chuàng)建函數(shù),此時的函數(shù)參數(shù)obj為形式參數(shù)mot="誰在楚之東傳承青銅古韻礦冶風(fēng)"demo(mot)list1=['黃鶴樓','仙島湖','磁湖','西塞山']demo(list1)調(diào)用函數(shù),此時的函數(shù)參數(shù)mot和list1是實際參數(shù)函數(shù)在被調(diào)用時會將實參按照相應(yīng)的位置依次傳遞給形參,即將第1個實參傳遞給第1個形參,將第2個實參傳遞給第2個形參,以此類推。10.2.2位置參數(shù)關(guān)鍵字實參是傳遞給函數(shù)的名稱值對。因為直接在實參中將名稱和值關(guān)聯(lián)起來,所以向函數(shù)傳遞實參時不會混淆(不會得到名為mini的teddydog這樣的結(jié)果)。關(guān)鍵字實參讓你無須考慮函數(shù)調(diào)用中的實參順序,還清楚地指出了函數(shù)調(diào)用中各個值的用途。10.2.3關(guān)鍵字參數(shù)編寫函數(shù)時,可給每個形參指定默認(rèn)值。在調(diào)用函數(shù)中給形參提供了實參時,Python將使用指定的實參值;否則,將使用形參的默認(rèn)值。因此,給形參指定默認(rèn)值后,可在函數(shù)調(diào)用中省略相應(yīng)的實參。使用默認(rèn)值可簡化函數(shù)調(diào)用,還可清楚地指出函數(shù)的典型用法。10.2.4默認(rèn)值在Python中,參數(shù)還可以定義為可變參數(shù),可變參數(shù)也可以稱為不定長參數(shù),所謂的不定長參數(shù)就是傳入函數(shù)的實際參數(shù)可以是若干個,其中包括零個、一個、兩個到任意個。定義可變參數(shù)時,主要有兩種形式:一種是*parameter:另一種是**parameter。下面分別為*parameter和**parameter進(jìn)行介紹。10.2.5可變參數(shù)創(chuàng)建函數(shù)都只是為我們完成任務(wù),任務(wù)完成就結(jié)束。實際上有時還需要對事情的結(jié)果進(jìn)行獲取。這類似于主管向下級職員下達(dá)命令,職員去做,最后需要將結(jié)果報告給主管。為函數(shù)設(shè)置返回值的作用就是將函數(shù)的處理結(jié)果返回給調(diào)用它的函數(shù)。在Python中,可以在函數(shù)體內(nèi)使用return語句為函數(shù)指定返回值。該返回值可以是任意類型,并且無論return語句出現(xiàn)在函數(shù)的什么位置,執(zhí)行后函數(shù)的執(zhí)行過程就結(jié)束了。10.3返回值匿名函數(shù)(lambda)是指沒有名字的函數(shù),應(yīng)用在需要一個函數(shù)但是又不想費神命名這個函數(shù)的場合。通常情況這樣的函數(shù)只使用一次。在Python中,使用lambda表達(dá)式創(chuàng)建匿名函數(shù)。10.4匿名函數(shù)函數(shù)在定義時可以直接或間接地調(diào)用其他函數(shù)。若函數(shù)內(nèi)部調(diào)用了自身,則這個函數(shù)被稱為遞歸函數(shù)。遞歸函數(shù)通常用于解決結(jié)構(gòu)相似的問題,它采用遞歸的方式,將一個復(fù)雜的大型問題轉(zhuǎn)化為與原問題結(jié)構(gòu)相似的、規(guī)模較小的若干子問題,之后對最小化的子問題求解,從而得到原問題的解。10.5遞歸變量的作用域是指程序代碼能夠訪問該變量的區(qū)域,如果超出該區(qū)域,再訪問時就會出現(xiàn)錯誤。在程序中,一般會根據(jù)變量的“有效范圍”將變量分為“局部變量”和“全局變量”。下面分別對這兩個變量進(jìn)行介紹。10.6變量的作用域局部變量是指在函數(shù)內(nèi)部定義并使用的變量,它只在函數(shù)內(nèi)部有效。也就是說,函數(shù)內(nèi)部的名字只在函數(shù)運行時才會創(chuàng)建,在函數(shù)運行之前或者運行完畢之后,所有名字都將不存在。如果在函數(shù)外部使用函數(shù)內(nèi)部定義的變量,就會出現(xiàn)拋出NameError異常。例如,定義一個名稱為f_demo()的函數(shù),在該函數(shù)內(nèi)部定義一個變量message(稱為局部變量),并為其賦值,然后輸出該變量,最后在函數(shù)外部再次輸出message變量。10.6.1局部變量10.6.2全局變量與局部變量對應(yīng),全局變量為能夠作用于函數(shù)內(nèi)外部的變量。全局變量主要有兩種情況:在函數(shù)的外部定義和內(nèi)部定義添加global關(guān)鍵詞變成全局變量。如果一個變量在函數(shù)外部被定義,那么它不僅可以在函數(shù)外部被訪問到,而且也可以在函數(shù)內(nèi)部被訪問到。如果一個變量在函數(shù)內(nèi)部定義,添加關(guān)鍵詞global后,該變量就變成了全局變量。在函數(shù)的外部也可以訪問到該變量,同時還可以在函數(shù)的內(nèi)部進(jìn)行修改。例如,定義一個全局變量message,然后定義一個函數(shù),最后在該函數(shù)內(nèi)部輸出全局變量message的值。本章小結(jié)本章用通俗的語言和實例介紹了函數(shù),通過認(rèn)識函數(shù)講解了函數(shù)如何運行,定義函數(shù)和調(diào)用
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年宣城市涇縣城市管理行政執(zhí)法局招考管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宜春市教育局直屬學(xué)校招考應(yīng)屆畢業(yè)生管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宜昌城市大腦運營管理限公司派遣制員工招聘【18人】管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽黃山祁門縣事業(yè)單位比選工作人員24人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽馬鞍山市直事業(yè)單位招聘考生補(bǔ)檢復(fù)檢(十二)管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽銅陵市引進(jìn)急需緊缺專業(yè)人才50人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025-2030年中國服裝吊牌行業(yè)市場發(fā)展前景調(diào)研與投資策略分析報告
- 2025-2030年中國光觸媒行業(yè)現(xiàn)狀分析及投資前景規(guī)劃研究報告
- 2024-2030年磺(酰)胺搬遷改造項目可行性研究報告
- 2024-2030年旋轉(zhuǎn)機(jī)組公司技術(shù)改造及擴(kuò)產(chǎn)項目可行性研究報告
- 馬克思主義基本原理+2024秋+試題 答案 國開
- 2023年深圳市云端學(xué)校應(yīng)屆生招聘教師考試真題
- 店鋪三年規(guī)劃
- 2023年國網(wǎng)四川省電力公司招聘筆試真題
- 2023-2024學(xué)年廣東省深圳市龍華區(qū)六年級上學(xué)期期末英語試卷
- 2024年注冊會計師審計考試題及答案
- 藥學(xué)專業(yè)論文3000字藥學(xué)畢業(yè)論文(6篇)
- 光伏發(fā)電工程施工技術(shù)方案
- 一年級看圖寫話集錦省公開課獲獎?wù)n件說課比賽一等獎?wù)n件
- 化療后胃腸道反應(yīng)護(hù)理
- 山西省2024-2025學(xué)年九年級上學(xué)期11月期中考試化學(xué)試題
評論
0/150
提交評論