Python程序設計基礎項目化教程 課件 項目4 函數(shù)與模塊_第1頁
Python程序設計基礎項目化教程 課件 項目4 函數(shù)與模塊_第2頁
Python程序設計基礎項目化教程 課件 項目4 函數(shù)與模塊_第3頁
Python程序設計基礎項目化教程 課件 項目4 函數(shù)與模塊_第4頁
Python程序設計基礎項目化教程 課件 項目4 函數(shù)與模塊_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

筐魚梧領鳳峽匪跑腳凡輔乒蹤勿久褂舟嬰襲剪肚爹倫甄嘯鐐娟附卉態(tài)再罵廣東農工商職業(yè)技術學院PPT模板-精美原創(chuàng)畢業(yè)論文答辯廣東農工商職業(yè)技術學院PPT模板-精美原創(chuàng)畢業(yè)論文答辯項目4函數(shù)與模塊目錄|CONTENT1項目介紹2項目目標3項目準備4項目實施項目介紹項目背景程序設計語言中,函數(shù)是組織好的,可重復使用的,用來實現(xiàn)單一,或相關聯(lián)功能的代碼段。前面項目已經接觸了一些Python提供的內建函數(shù),比如print()??梢詫⒑瘮?shù)視為一段有名字的代碼,這類代碼在需要的地方以“函數(shù)名()”的形式調用。用戶也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)。功能設計優(yōu)秀的函數(shù)能提高應用的模塊性,和代碼的重復利用率。項目介紹項目規(guī)劃01熟練Python函數(shù)的定義和調用方法02掌握各類參數(shù),熟悉參數(shù)傳遞過程03熟悉Python模塊和包的概念及使用方法目錄|CONTENT1項目介紹2項目目標3項目準備4項目實施項目目標知識目標1熟悉Python函數(shù)的概念2掌握Python函數(shù)參數(shù)傳遞和返回值的原理3熟悉模塊、包的概念項目目標能力目標1掌握Python函數(shù)的定義和調用方法2熟練掌握參數(shù)的定義、傳遞方法,返回值的使用方法3正確使用import進行包的相關操作目錄|CONTENT1項目介紹2項目目標3項目準備4項目實施項目準備1.函數(shù)的定義數(shù)是為實現(xiàn)一個特定功能而組合在一起的語句集,可以用來定義可重用代碼、組織和簡化代碼。函數(shù)定義格式如下:def函數(shù)名(形式參數(shù)):

函數(shù)體項目準備2.函數(shù)的調用函數(shù)在定義時只是決定了函數(shù)的形式和功能。直到函數(shù)被調用時,函數(shù)才會被執(zhí)行。調用函數(shù)的方式非常簡單,其語法形式如下所示:函數(shù)名([參數(shù)列表])項目準備3.形參與實參在函數(shù)定義中,函數(shù)名后面括號中列出的參數(shù)稱為形式參數(shù),簡稱形參。如果形參的個數(shù)超過1個,各參數(shù)之間用逗號隔開。在定義函數(shù)時,函數(shù)的形參不代表任何具體的值,只有在函數(shù)調用時,才會有具體的值賦給形參。調用函數(shù)時傳入的參數(shù)稱為實際參數(shù),簡稱實參。項目準備4.函數(shù)的返回值函數(shù)的執(zhí)行結果通過返回語句return返回給調用者。函數(shù)調用時的參數(shù)傳遞實現(xiàn)了從函數(shù)外部向函數(shù)內部輸入數(shù)據(jù),而函數(shù)的返回則解決了函數(shù)向外部輸出信息的問題。如果一個函數(shù)的定義中沒有return語句,系統(tǒng)將自動在函數(shù)體的末尾插入returnNone語句。#定義函數(shù)circle2,返回圓的面積defcircle2(r):#函數(shù)定義,r為形參area=3.14*r*rreturnarea#為返回值

#主程序r=3area=circle2(r)#函數(shù)調用,r為實參print("半徑為",r,"的圓面積為:",area)項目準備5.特殊形式的參數(shù)當調用函數(shù)時,需要將實參傳遞給形參。參數(shù)傳遞時有兩種方式:位置參數(shù)和關鍵參數(shù)。位置參數(shù)是指按照參數(shù)的位置來傳遞,關鍵參數(shù)是指按照參數(shù)賦值的形式來傳遞。當使用位置參數(shù)時,實參和形參在順序、個數(shù)和類型上必須一一匹配。在函數(shù)調用中,通過“變量名=值”的“鍵-值”形式將實參傳遞給形參,使得參數(shù)可以不按順序來傳遞,讓函數(shù)參數(shù)的傳遞更加清晰、易用。采用這種方式傳遞的參數(shù)稱為關鍵參數(shù)。1)位置參數(shù)與關鍵參數(shù)項目準備5.特殊形式的參數(shù)數(shù)的形參可以設置默認值。這種形參通常稱為默認參數(shù)。Python允許定義帶默認參數(shù)的函數(shù),如果在調用函數(shù)時不為這些參數(shù)提供值,這些參數(shù)就使用默認值;如果在調用時有實參,則將實參的值傳遞給形參,形參定義的默認值將被忽略。具有默認參數(shù)值的函數(shù)定義格式如下:2)默認參數(shù)def函數(shù)名(非默認參數(shù),形參名=默認值,……):

函數(shù)體項目準備5.特殊形式的參數(shù)在Python中,函數(shù)可以接收不定個數(shù)的參數(shù),即用戶可以給函數(shù)提供可變長度的參數(shù)。這可以通過在形式參數(shù)前面使用標識符“*”來實現(xiàn)。3)可變長參數(shù)#函數(shù)定義defall_1(*args):print(args)#不管傳遞幾個參數(shù)到args,都是將接收的所有參數(shù)按照次序組合到一個元組上。#主程序all_1("a")#程序運行結果('a',)all_1("a",2)#程序運行結果('a',2)all_1("a",2,"b")#程序運行結果('a',2,'b')項目準備6.模塊按照代碼功能的不同,將代碼分門別類地放在不同的腳本文件中,這些腳本文件就稱為是模塊(Module)。用戶一旦創(chuàng)建了一個Python源文件,就可以作為一個模塊來使用,其不帶后綴的.py的文件名就是模塊名。項目準備7.包為了方便管理,通常將程序文件(模塊)以特定目錄的形式進行打包。作為包的目錄中必須至少包含一個名為__init__.py的文件,也可以包含一些模塊文件和作為子包的子目錄。作為子包的子目錄中同樣至少包含一個名為__init__.py的文件。文件__init__.py的內容可以為空。__init__.py文件的主要作用為:(1)作為python中包與普通目錄的區(qū)別標識;(2)編寫代碼,定義類、函數(shù)、變量等對象;(3)定義__all__變量來確定采用frommoduleNameimport*時導入的模塊名稱。項目準備8.庫及其安裝標準庫第三方庫項目準備9.模塊的__name__屬性每個模塊都有一個__name__屬性(注意__name__兩端各有兩個下劃線),該屬性保存當前模塊執(zhí)行過程中的名稱。當一個程序模塊獨立運行時,該__name__屬性自動被賦予值為__main__的字符串。如果一個程序模塊被其他程序通過import導入使用,則其__name__屬性自動被賦予值為模塊名(文件名)的字符串。因此,可以通過在模塊中增加語句“if__name__=='__main__':”來判斷模塊當前的運行狀態(tài)。目錄|CONTENT1項目介紹2項目目標3項目準備4項目實施項目實施任務4.1猴子補丁為了解決原有系統(tǒng)的bug,或者增加新的功能,需要對系統(tǒng)進行打補丁。補丁分為冷補丁和熱補丁兩種:冷補丁就是使用具有新功能的安裝包,重新安裝系統(tǒng)。熱補丁是在不重新安裝大版本的情況下,通過改變原有函數(shù)代碼地址的方式,更新系統(tǒng)功能。建立“MonkeyPatch.py”文件,用于編寫Python實驗程序。編寫任務代碼項目實施任務4.1猴子補丁defSum(a,b):#定義函數(shù)Sum print('Sum函數(shù)被調用!')#通過輸出信息以知道哪個函數(shù)被調用 returna+b#將a和b的求和結果返回defNewSum(*args):#定義函數(shù)NewSum print('NewSum函數(shù)被調用!')#通過輸出信息以知道哪個函數(shù)被調用 s=0#s用于保存求和結果,初始賦為0 foriinargs:#i取傳入的每一個參數(shù)值 s+=i#將i加到s上 returns#將保存求和結果的s返回Sum=NewSum#將NewSum賦給Sum,后面再調用Sum函數(shù),實際上就是執(zhí)行NewSum函數(shù)print(Sum(1,2,3,4,5))#調用Sum函數(shù)(實際是執(zhí)行NewSum)計算1至5的和并輸出執(zhí)行程序用鼠標右鍵單擊右側編輯窗口,在菜單中選擇“Run‘python主程序所在文件名’”一項執(zhí)行編寫好的Python程序,本次實驗文件名為“MonkeyPatch”。將在屏幕上輸出結果項目實施任務4.1猴子補丁項目實施任務4.2第三方模塊的獲取與安裝Python是一個流行的開源項目,許多第三方開發(fā)者也將其開發(fā)的功能開放、供其他開發(fā)者在開源協(xié)議下免費使用。第三方模塊的獲取與安裝有多種方法,其中最推薦的一種方法是使用pip工具。本任務以用于科學計算的numpy模塊的安裝為例,介紹pip的使用方法。項目實施任務4.2第三方模塊的獲取與安裝選擇Windows開始菜單,在“搜索程序和文件”框中輸入CMD,按回車鍵,打開命令行控制臺窗口。在命令行窗口中輸入Python命令,按回車鍵,進入Python交互式解釋器。此時用戶可以在提示符>>>下輸入命令或調用函數(shù),以命令行的方式交互式地使用Python解釋器項目實施任務4.2第三方模塊的獲取與安裝在提示符>>>下輸入:importnumpy,此時會得到如下錯誤信息:項目實施任務4.2第三方模塊的獲取與安裝在提示符下輸入exit(),退出Python解釋器項目實施任務4.2第三方模塊的獲取與安裝確保系統(tǒng)聯(lián)網,在控制臺下輸入pipinstallnumpy。系統(tǒng)就會自動下載安裝包并完成安裝項目實施任務4.2第三方模塊的獲取與安裝再次輸入Python,進入Python解釋器,并輸入importnumpy,系統(tǒng)不再報錯,表示模塊導入成功課后練習與技能訓練一、填空題Python語言中使用函數(shù)分為兩個步驟:定義函數(shù)和

。Python語言中函數(shù)定義需要使用

關鍵字。

是定義函數(shù)時函數(shù)名后面的一對小括號中給出的參數(shù)列表。

是在調用函數(shù)時函數(shù)名后面的一對小括號中給出的參數(shù)列表。能夠將一個函數(shù)的運算結果返回到調用函數(shù)的位置,以使得可以繼續(xù)用該運算結果再去參與其他運算,此時則應使用

語句。練習課后練習與技能訓練一、填空題6.使用

將整個模塊導入,也可以使用

將模塊中的標識符直接導入當前環(huán)境,7.可以使用from模塊名import的方式導入一個模塊中的所有標識符。8.定義一個包,就是創(chuàng)建一個文件夾并在該文件夾下創(chuàng)建一個

文件,文件夾的名字就是包名。9.

是指在運行時動態(tài)替換已有的代碼,而不需要修改原始代碼。練習課后練習與技能訓練二、選擇題1.下列說法中錯誤的是()當調用函數(shù)時,如果沒有為某些形參傳遞對應的實參,則這些形參會自動使用默認參數(shù)值在使用關鍵字參數(shù)調用函數(shù)時,實參的傳遞順序可以與形參列表中形參的順序必須一致當普通實參傳遞給形參后,如果在函數(shù)體中對形參值做修改,則該修改并不會影響實參,即實參值不會改變。如果實參是列表等對象時,可在函數(shù)體中通過形參修改實參列表中對應元素的值。練習課后練習與技能訓練二、選擇題2.下列關于拆分參數(shù)列表的說法正確的是()A.列表、元組拆分出來的結果作為位置參數(shù),字典拆分出來的結果作為關鍵字參數(shù)B.列表、元組和字典拆分出來的結果都作為關鍵字參數(shù)C.列表、元組和字典拆分出來的結果都作為位置參數(shù)D.列表、元組拆分出來的結果作為關鍵字參數(shù),而字典拆分出來的結果作為位置參數(shù)練習課后練習與技能訓練三、簡答題1.寫出下面程序段的輸出結果。練習defModifyVal(x,y):z=xx=yy=zdefModifyListElement(ls,idx,val):ls[idx]=vala,b=3,5print(a,b)ModifyVal(a,b)print(a,b)c=[7,8,9]print(c)ModifyListElement(c,1,6)print(c)課后練習與技能訓練三、簡答題2.寫出下面程序段的輸出結果。練習defCircleInfo(radius,color='red'):print('半徑:%d,顏色:%s'%(radius,color))CircleInfo(10)CircleInfo(20,color='green')CircleInfo(color='blue',radius=30)課后練習與技能訓練三、簡答題函數(shù)Sum的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論