Python函數(shù)定義及使用_第1頁
Python函數(shù)定義及使用_第2頁
Python函數(shù)定義及使用_第3頁
Python函數(shù)定義及使用_第4頁
Python函數(shù)定義及使用_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Python函數(shù)定義及使用Python第第6 6章章 PythonPython函數(shù)定義與使用函數(shù)定義與使用Python程序設(shè)計程序設(shè)計6.1 6.1 函數(shù)的理解與定義函數(shù)的理解與定義6.2 6.2 參數(shù)傳遞與返回值參數(shù)傳遞與返回值6.3 6.3 作用域作用域6.4 6.4 遞歸遞歸Python程序設(shè)計程序設(shè)計 函數(shù)定義函數(shù)定義 函數(shù)調(diào)用函數(shù)調(diào)用函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的定義函數(shù)的定義求取包含10個斐波那契數(shù)函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的定義函數(shù)的定義如何讓代碼按照用戶指定的最終要求取得序列的長度?或許還可以讓程序更加抽象函數(shù)的理解與定義函數(shù)的

2、理解與定義函數(shù)的定義函數(shù)的定義函數(shù)是一段具有特定功能的、可重用的語句組,用函數(shù)名來表示并通過函數(shù)名進行完成功能調(diào)用。函數(shù)是一種功能的抽象,一般函數(shù)表達特定功能 兩個作用:降低編程難度 和 代碼復(fù)用函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的定義函數(shù)的定義Python定義一個函數(shù)使用def保留字,語法形式如下:def (): return 函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的定義函數(shù)的定義def fibs(nums): fibs = 0, 1 for i in range(num - 2): fibs.append(fibs-2+fibs-1) return fibs函數(shù)名參數(shù)返回值函數(shù)的理解與定義

3、函數(shù)的理解與定義函數(shù)的函數(shù)的定義定義給函數(shù)編寫文檔函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的調(diào)用函數(shù)的調(diào)用程序調(diào)用一個函數(shù)需要執(zhí)行以下四個步驟:(1)調(diào)用程序在調(diào)用處暫停執(zhí)行;(2)在調(diào)用時將實參復(fù)制給函數(shù)的形參;(3)執(zhí)行函數(shù)體語句;(4)函數(shù)調(diào)用結(jié)束給出返回值,程序回到調(diào)用前的暫停處繼續(xù)執(zhí)行。函數(shù)的理解與定義函數(shù)的理解與定義函數(shù)的調(diào)用函數(shù)的調(diào)用nums = 8Python程序設(shè)計程序設(shè)計6.1 6.1 函數(shù)的理解與定義函數(shù)的理解與定義6.2 6.2 參數(shù)傳遞與返回值參數(shù)傳遞與返回值6.3 6.3 作用域作用域6.4 6.4 遞歸遞歸Python程序設(shè)計程序設(shè)計 參數(shù)傳遞參數(shù)傳遞 返回返回值值參

4、數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞參數(shù)傳遞形參與實參 在def語句中,位于函數(shù)名后面的變量通常稱為形參。 調(diào)用函數(shù)時提供的值稱為實參參數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞參數(shù)傳遞函數(shù)可以有參數(shù),也可以沒有,但必須保留括號參數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞參數(shù)傳遞函數(shù)定義時可以為某些參數(shù)指定默認(rèn)值,構(gòu)成可選參數(shù)參數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞參數(shù)傳遞位置參數(shù) 和 關(guān)鍵字參數(shù)在結(jié)合使用位置參數(shù)和關(guān)鍵字參數(shù)時,必須先指定所有位置參數(shù)參數(shù)傳遞與返回值參數(shù)傳遞與返回值參數(shù)傳遞參數(shù)傳遞函數(shù)定義時可以設(shè)計可變數(shù)量參數(shù),既不確定參數(shù)總數(shù)量參數(shù)傳遞與返回值參數(shù)

5、傳遞與返回值參數(shù)傳遞參數(shù)傳遞函數(shù)定義時可以設(shè)計可變數(shù)量參數(shù),既不確定參數(shù)總數(shù)量def printParams(*params): print(params)def printParams2(*params): print(params)參數(shù)傳遞與返回值參數(shù)傳遞與返回值返回值返回值函數(shù)可以返回0個或多個結(jié)果-return保留字用來傳遞返回值 -函數(shù)可以有返回值,也可以沒有-可以有return,也可以沒有-return可以傳遞0個返回值,也可以傳遞任意多個返回值參數(shù)傳遞與返回值參數(shù)傳遞與返回值返回值返回值Python程序設(shè)計程序設(shè)計6.1 6.1 函數(shù)的理解與定義函數(shù)的理解與定義6.2 6.2 參

6、數(shù)傳遞與返回值參數(shù)傳遞與返回值6.3 6.3 作用域作用域6.4 6.4 遞歸遞歸作用域作用域局部變量和全局變量局部變量和全局變量一個程序中的變量包括兩類:全局變量和局部變量。全局變量指在函數(shù)之外定義的變量,一般沒有縮進,在程序執(zhí)行全過程有效。局部變量指在函數(shù)內(nèi)部使用的變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(shù)退出時變量將不存在。作用域作用域局部變量和全局變量局部變量和全局變量當(dāng)函數(shù)執(zhí)行完退出后,其內(nèi)部變量將被釋放。規(guī)則1: 局部變量和全局變量是不同變量作用域作用域局部變量和全局變量局部變量和全局變量 函數(shù)func三內(nèi)部使用了變量n,并且將變量參數(shù)b賦值給變量n作用域作用域局部變量和全局變量局部變量和全局

7、變量如果希望讓func三函數(shù)將n當(dāng)作全局變量,需要在變量n使用前顯式聲明該變量為全局變量,代碼如下。作用域作用域局部變量和全局變量局部變量和全局變量規(guī)則2: 局部變量為組合數(shù)據(jù)類型且未創(chuàng)建新變量,等同于全局變量作用域作用域局部變量和全局變量局部變量和全局變量規(guī)則2: 局部變量為組合數(shù)據(jù)類型且未創(chuàng)建新變量,等同于全局變量作用域作用域局部變量和全局變量局部變量和全局變量總結(jié):-基本數(shù)據(jù)類型,無論是否重名,局部變量與全局變量不同-可以通過global保留字在函數(shù)內(nèi)部聲明全局變量-組合數(shù)據(jù)類型,如果局部變量未真實創(chuàng)建,則是全局變量lambdalambdalambda函數(shù)函數(shù)python 使用 lamb

8、da 來創(chuàng)建匿名函數(shù),不再使用 def 語句這樣標(biāo)準(zhǔn)的形式定義一個函數(shù)。-lambda 只是一個表達式,函數(shù)體比 def 簡單很多。-lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。-lambda 函數(shù)擁有自己的命名空間,且不能訪問自己參數(shù)列表之外或全局命名空間里的參數(shù)。lambdal lambdaambda函數(shù)函數(shù)lambdal lambdaambda函數(shù)函數(shù) f = lambda x, y : x + y f(10, 15)25 f = lambda : lambda函數(shù) print(f三)lambda函數(shù)lambdal lambdaamb

9、da函數(shù)函數(shù) map(lambda x: x * 2, 1, 2, 3, 4, 5) # 使用 lambda 1, 4, 9, 16, 25 # 提供了兩個列表,對相同位置的列表數(shù)據(jù)進行相加 map(lambda x, y: x + y, 1, 3, 5, 7, 9, 2, 4, 6, 8, 10)3, 7, 11, 15, 19print(.join(map(lambda x: chr(ord(x) + 3 - ord(A) % 26 + ord(A) if A = x s:-1def rvs(s): if s = : return s else : return rvs(s1:)+s0遞歸

10、遞歸遞歸實例解析遞歸實例解析斐波那契數(shù)列F(n) = F(n-1) + F(n-2)def fibs(n): if n = 0 or n = 1 : return 1 else : return fibs(n-1) + fibs(n-2)遞歸遞歸遞歸實例解析遞歸實例解析二分查找1.如果序列索引最大值與最小值相等,判斷是否為要查找的數(shù)值。2.如果上下限不同,判斷數(shù)值在上下限平均值的哪一側(cè),再做查找。遞歸遞歸函數(shù)式編程函數(shù)式編程函數(shù)式編程(英語:functional programming)或稱函數(shù)程序設(shè)計,又稱泛函編程,是一種編程范型它將電腦運算視為數(shù)學(xué)上的函數(shù)計算,并且避免使用程序狀態(tài)以及易變對象函數(shù)編程語言最重要的基礎(chǔ)是演算,而且演算的函數(shù)可以接受函數(shù)當(dāng)作輸入(引數(shù))和輸出(傳出值)遞歸遞歸函數(shù)式編程函數(shù)式編程函數(shù)式編程關(guān)心數(shù)據(jù)的映射,命令式編程關(guān)心解決問題的步驟函數(shù)式編程是一種編程模型,他將計算機運算看做是數(shù)學(xué)中函數(shù)的計算,并且避免了狀態(tài)以及變量的概念遞歸遞歸函數(shù)式編程函數(shù)式編程Python提供了一些有助于進行函數(shù)式編程的函數(shù)map、filter、reduce遞歸遞歸函數(shù)式編程函數(shù)式編程mapmap三 函數(shù)語法:map(

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論