![PYTHON程序設計 課件 【ch05】函數(shù)_第1頁](http://file4.renrendoc.com/view/5a27c14157a4315d83b5b8f9eada84df/5a27c14157a4315d83b5b8f9eada84df1.gif)
![PYTHON程序設計 課件 【ch05】函數(shù)_第2頁](http://file4.renrendoc.com/view/5a27c14157a4315d83b5b8f9eada84df/5a27c14157a4315d83b5b8f9eada84df2.gif)
![PYTHON程序設計 課件 【ch05】函數(shù)_第3頁](http://file4.renrendoc.com/view/5a27c14157a4315d83b5b8f9eada84df/5a27c14157a4315d83b5b8f9eada84df3.gif)
![PYTHON程序設計 課件 【ch05】函數(shù)_第4頁](http://file4.renrendoc.com/view/5a27c14157a4315d83b5b8f9eada84df/5a27c14157a4315d83b5b8f9eada84df4.gif)
![PYTHON程序設計 課件 【ch05】函數(shù)_第5頁](http://file4.renrendoc.com/view/5a27c14157a4315d83b5b8f9eada84df/5a27c14157a4315d83b5b8f9eada84df5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
函數(shù)“計算機類精品系列教材Python程序設計第五章01函數(shù)定義一、函數(shù)定義在Python中,函數(shù)通過關鍵字def定義,它是define的縮寫。關鍵字def后加函數(shù)的名稱和一對圓括號,圓括號之中可以根據(jù)實際需要定義函數(shù)的參數(shù),以冒號結尾。下一行帶有縮進的語句塊為函數(shù)體。函數(shù)定義的語法結構如下:def函數(shù)名(參數(shù)列表);函數(shù)體在定義函數(shù)時,函數(shù)的名稱應該能夠表達函數(shù)封裝代碼的功能,方便后續(xù)的調用,并且函數(shù)名稱的命名應該符合標識符的命名規(guī)則。函數(shù)的參數(shù)列表根據(jù)實際需要可有可無。函數(shù)使用return語句返回值,return后面的表達式或值為這次函數(shù)調用的返回值。如果函數(shù)沒有使用return語句返回,則函數(shù)的返回值為None。如果return后面沒有任何表達式,則調用這個函數(shù)的返回值也為None。一、函數(shù)定義例如:此外,return語句可以返回多個值。此時,Python會將多個值轉換為元組返回,接收返回值時可以使用一個變量來保存返回的元組值,也可以使用和返回值個數(shù)相同的多個變量分別接收對應的返回值。一、函數(shù)定義例如,下面的代碼定義了一個求一個列表中的最大值和最小值的函數(shù)。上面代碼中的兩種調用方式得到了相同的結果,但使用多個變量接收多個返回值的方式使得代碼的可讀性更好。02函數(shù)調用二、函數(shù)調用在調用函數(shù)時,程序的運行將從調用函數(shù)的行跳到函數(shù)定義的行,并將參數(shù)傳遞到函數(shù)體內。在函數(shù)運行結束后,程序將繼續(xù)執(zhí)行函數(shù)調用的下一條語句。例如:上面代碼在運行時,首先會記住函數(shù)定義的名稱,跳過函數(shù)體,向下運行。在運行到b=times2(a)時,將攜帶a的參數(shù)值,跳到times2()函數(shù)處,將a的值賦給x,并在函數(shù)體內完成運算。函數(shù)運行結束后,返回值賦給b,程序將繼續(xù)執(zhí)行調用函數(shù)的下一條語句。在本例中,調用完times2()函數(shù)后,將繼續(xù)執(zhí)行print(b)語句。二、函數(shù)調用此外,在Python中,也可以在表達式或函數(shù)中調用自定義函數(shù)。例如:03函數(shù)的參數(shù)傳遞三、函數(shù)的參數(shù)傳遞01形式參數(shù)與實際參數(shù)形式參數(shù)簡稱形參,并不是實際存在的變量,而是在定義函數(shù)名和函數(shù)體時使用的參數(shù),目的是接收調用該函數(shù)時傳入的參數(shù)。在調用函數(shù)時,傳遞的實際參數(shù)被稱為實參,實參將值賦給形參。因而,必須注意實參的個數(shù)、類型應與形參一一對應,并且實參必須要有確定的值。實參可以是常量、變量、表達式、函數(shù)等,無論實參是何種類型,在函數(shù)調用時,它都必須具有確定的值,以便把這些值傳遞給形參。因此,應先使用賦值、輸入等方法使實參在調用函數(shù)之前獲得確定值。三、函數(shù)的參數(shù)傳遞02位置參數(shù)Python處理參數(shù)的方式要比其他語言更加靈活。其中,使用位置參數(shù)就是調用函數(shù)時進行參數(shù)傳遞的一種常用方式,實參是通過位置按照次序和形參一一對應的。三、函數(shù)的參數(shù)傳遞03關鍵字參數(shù)為了避免位置參數(shù)帶來的順序混亂,調用參數(shù)時可以指定對應參數(shù)的名字,這就是關鍵字參數(shù)。關鍵字參數(shù)可以使用與函數(shù)定義時的參數(shù)的順序完全不同的方式進行參數(shù)傳遞。例如:位置參數(shù)要求實參和形參必須在次序上一一對應,而關鍵字參數(shù)則不需要在次序上與形參保持一致。上面代碼的輸出結果如下:三、函數(shù)的參數(shù)傳遞04默認值參數(shù)在定義形參時,可以為形參指定默認值,從而使函數(shù)調用時在缺少該參數(shù)的情況下使用該參數(shù)指定的默認值。例如:三、函數(shù)的參數(shù)傳遞04默認值參數(shù)上述調用的輸出結果如下:默認值參數(shù)在函數(shù)定義時就已經計算完成,因此不要把可變的數(shù)據(jù)類型設置為函數(shù)的默認值參數(shù),否則會輸出出乎預料的結果。例如:上述調用會輸出以下結果,與預期的輸出結果并不相同。三、函數(shù)的參數(shù)傳遞04默認值參數(shù)此外,Python中的所有默認值參數(shù)必須位于沒有默認值參數(shù)的后面。例如:上述代碼的運行結果如下:04匿名函數(shù)四、匿名函數(shù)在Python中,不通過關鍵字def來聲明函數(shù)名,而是通過關鍵字lambda來定義的函數(shù)被稱為lambda()函數(shù),又稱匿名函數(shù)。lambda()函數(shù)可以接收多個(可以是0個)參數(shù),但只能返回一個表達式的值,lambda()函數(shù)是一個函數(shù)對象,直接賦值給一個變量。其語法結構如下:lambda<參數(shù)>:<表達式>lambda()函數(shù)適用于多個參數(shù)、一個返回值的情況,函數(shù)結果用一個變量來接收。執(zhí)行l(wèi)ambda()函數(shù)的結果與執(zhí)行普通函數(shù)的結果一樣,但是lambda()函數(shù)比普通函數(shù)更簡潔,且無須聲明函數(shù)名。05函數(shù)的嵌套與遞歸五、函數(shù)的嵌套與遞歸01函數(shù)嵌套函數(shù)嵌套是指在函數(shù)體的內部繼續(xù)進行函數(shù)的定義。一般在以下情況使用函數(shù)嵌套:封裝函數(shù)的內部數(shù)據(jù),即函數(shù)外部無法訪問函數(shù)的嵌套部分;在函數(shù)內部避免重復代碼,即堅持DRY(Don'trepeatyourself)原則。例如:五、函數(shù)的嵌套與遞歸02函數(shù)遞歸函數(shù)直接或間接調用函數(shù)自身的方法被稱為遞歸。遞歸作為一種算法在程序設計過程中被廣泛使用。它通常把一個大型的、復雜的問題轉換為一個與原問題相似的、規(guī)模較小的問題來求解。一般來說,遞歸需要設置終止條件和遞歸條件,終止條件用來終止遞歸繼續(xù)進行并返回結果,避免進入無限循環(huán)。斐波那契數(shù)列是一個函數(shù)遞歸的常見應用,它的前兩項為1,從第3項開始,每一項都是其前兩項的和。例如,設計函數(shù)返回斐波那契數(shù)列的第n項:06常用的內置函數(shù)六、常用的內置函數(shù)01進制轉換函數(shù)在Python編程中,經常會使用二進制、八進制、十進制、十六進制整數(shù)。Python內置了將不同進制的整數(shù)轉換為對應進制的字符串函數(shù)。將整數(shù)轉換為二進制、八進制、十六進制字符串的函數(shù)分別是bin()、oct()、hex)函數(shù)。例如:六、常用的內置函數(shù)02slice()函數(shù)slice()函數(shù)是一個切片函數(shù),可以作用于列表、元組等結構,其作用類似于列表中常見的切片操作。其語法結構如下:slice(start,end,step)start,end和step分別定義了slice的起點,終點和步長。在不設置step時,其默認值為1。六、常用的內置函數(shù)03divmod()函數(shù)divmod(函數(shù)是一個整合了整數(shù)除法和求余操作的函數(shù)。其語法結構如下:aivmod(a,b)函數(shù)將返回一個元組,元組的第0個元素為a對b做整數(shù)除法的結果,元組的第1個元素為a對b做除法后的余數(shù)。例如:六、常用的內置函數(shù)04sorted()函數(shù)sorted()函數(shù)可以對字符串、列表、元組等對象進行排序操作。以列表為例,與list對象的sort方法不同,內置函數(shù)sorted()的返回值為重新排列后的新列表,而不是在原來列表的基礎上進行操作。其語法結構如下:sorted(iterable,key-None,reverse-True)其中,iterable表示序列,如字符串、列表、元組等;key主要是用來進行比較的元素,只有一個參數(shù),具體函數(shù)的參數(shù)取自可迭代對象,指定可迭代對象中的一個元素來進行排序;reverse控制排序規(guī)則,使用reverse=True為降序,使用reverse=False為升序(默認)。六、常用的內置函數(shù)05ord()函數(shù)和chr()函數(shù)字符在計算機中存儲的形式為ASCII值,Python中內置的ord()函數(shù)和chr()函數(shù)可以將字符與ASCII值相互轉換。例如:六、常用的內置函數(shù)內置函數(shù)round()用于將參數(shù)的小數(shù)部分通過四舍五入的方式化簡。其語法結構如下:round(x,n)其中,參數(shù)x表示一個數(shù)值或一個數(shù)值表達式,可選參數(shù)n表示要求小數(shù)部分化簡到多少位,默認化簡到整數(shù)部分。例如:06round()函數(shù)07變量的作用域七、變量的作用域在Python解釋器啟動時,會建立一個初始環(huán)境,其中有一個內置命名空間,記錄所有的標準常量名、標準函數(shù)名等。在程序運行時,會建立一個全局命名空間,全局變量就放在這個空間中。每個函數(shù)定義自己的命名空間,函數(shù)內部定義的變量是局部變量。如果在一個函數(shù)中定義一個變量x,在另一個函數(shù)中也定義一個變量x,因為是在不同的命名空間定義的,所以兩者指代的是不同的變量??梢酝ㄟ^多種方式獲取其他命名空間的變量。每個程序在函數(shù)外是全局命名空間,全局命名空間中的變量是全局變量。全局變量為定義在函數(shù)外,存在于整個程序的變量;局部變量為定義在函數(shù)內,存在于該函數(shù)內部的變量。七、變量的作用域可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修進度款支付合同
- 藥品冷鏈運輸保密合同
- 商業(yè)空間裝修施工合同范本
- 包包購銷合同
- 咨詢服務合同終止協(xié)議書年
- 互聯(lián)網廣告投放策略與實踐案例
- 建筑項目居間合同
- 出租打印機合同年
- 圖書購銷合同范例
- 工程管理咨詢合同
- 統(tǒng)編小學《道德與法治》三年級上下冊教材的解讀
- 人教版(2024)英語七年級上冊單詞表
- 產業(yè)鏈競爭關聯(lián)度
- 涵洞施工鋼筋混凝土圓管涵
- 高考地理一輪復習學案+區(qū)域地理填圖+亞洲
- 全新車位轉讓協(xié)議模板下載(2024版)
- 高中數(shù)學必修一試卷及答案
- 砌筑工考試卷及答案
- 呼吸治療師進修匯報
- 智慧港口和自動化集裝箱碼頭
- 2024年度醫(yī)患溝通課件
評論
0/150
提交評論