一、函數的定義與使用
1)函數的定義:
1、函數是一種功能抽象, 是一段具有特定功能的、可重用的語句組,用函數名來表示並通過函數名完成功能調用。l
2、函數也可以看作是一段具有名字的子程序,可以在需要的地方調用執行,不需要在每個執行地方重復編寫這些語句。每次使用函數可以提供不同的參數作為輸入,以實現對不同數據的處理。函數執行後,還可以反饋相應的處理結果。
注意:
1、函數名可以是任何有效的Python標識符。
2、參數列表是調用該函數時傳遞給它的值,可以有零個、一個或多個,當傳遞多個參數時各參數之間由逗號分隔,當沒有參數時也要保留圓括號。
3、定義函數時,函數名後面參數列表中的變量是形式參數,簡稱“形參”。形參只在函數內部有效。
4、調用函數時,函數名後面小括號中提供的值或者變量是實際參數,簡稱“實參”。實參可以是常量、變量、表達式或者函數。
5、函數體由一個或多個語句組成,是函數被調用時執行的代碼。
6、return語句的作用是結束函數調用,並將結果返回給調用者。return語句是可選的,可以出現在函數體的任意位置。若無return語句,函數體結束後會將控制權返回給調用者。
2)函數的調用過程
函數的定義也叫函數的“聲明”,定義後的函數不能直接運行,需要經過“調用”才能運行。調用函數的基本方法如下:
<函數名>(<實際賦值參數列表>)
簡單步驟:
(1)調用程序在調用處暫停執行;
(2)在調用時將實參賦值給函數的形參;
(3)執行函數體語句;
(4)函數調用結束給出返回值,程序回到調用前的暫停處繼續執行。
3)lambda函數
1、lambda表達式可以用來聲明匿名函數,又稱lambda函數。匿名函數並非真的沒有名字,而是將函數名作為函數結果返回,使用形式如下:
<函數名> = lambda <參數列表>: <表達式>
lambda函數與正常函數一樣,等價於下面形式:
def <函數名>(<參數列表>):
return <表達式>
3、簡單來說,lambda函數用於定義簡單的、能夠在一行內表示的函數,返回一個函數類型,
二、函數的參數傳遞
1、函數可以有參數,也可以沒有,但必須保留括號。
def fact():
print("這也是函數")
1)可選參數傳遞
1、函數定義時可以為某些參數指定默認值,構成可選參數(也可以為其賦值,只要在沒有為其賦值的情況下才會指定默認值)。
2、需要注意,可選參數一般都放置在非可選參數的後面,即定義函數時,先給出所有非可選參數,然後再分別列出每個可選參數及對應的默認值。
def <函數名>(<非可選參數>, <可選參數>) :
<函數體>
return <返回值>
2)參數傳遞的兩種方式
1、函數調用時,參數可以按照位置或名稱方式傳遞
三、函數的返回值
1、return保留字用來傳遞返回值
2、return語句用來退出函數並將程序返回到函數被調用的位置繼續執行。
3、函數可以沒有return語句,此時函數並丌返回值,
4、return語句同時可以將0個、1個或多個函數運算完的結果返回給函數被調用處的變量,返回多個值時以元組類型保存
補充:若不知道何為元組類型,可以
Eg:
n=0
for c in (0,5)
n = n + 1
print(n)
程序執行結果為:
9