PYTHON 函式 遞迴 高階函式相關操作

2021-09-28 16:00:45 字數 1286 閱讀 8122

函式定義:

1、減少重複**

2、保持一致性

3、容易擴充套件

函式的返回值:

1、如果沒有return,即沒有返回值,則返回值為none

2、返回乙個值,返回值的型別與返回值一致

3、如果有多個返回值,則返回的型別為乙個元組

函式例子:

def test(x,y): #如果這裡有寫引數,則呼叫的時候必須傳入引數,否則會報錯

print(x)

print(y)

呼叫: test(1,2) #位置引數呼叫,寫入的值與形參一一對應

test(x =1,y=2)#關鍵字引數呼叫,與形參的順序無關

!!!!注:關鍵引數不能寫到位置引數前面

呼叫函式的時候,形參是必須傳值的,但是預設引數為非必傳,如果不傳值,則為預設值,傳值,則為傳入的值

不固定引數:

def test(*ar**):

print(ar**)

這樣的寫法可以傳入多個引數,呼叫例如:test(1,2,3,4)或者test([1,2,3,4]),返回的結果為(1,2,3,4)

不固定引數也可以跟位置引數相結合,例子如下:

def test(x,*ar**):

print(x)

print(ar**)

不固定關鍵字引數:

def test(kwar**s):

print(kwar**s)

這樣的寫法可以傳入多個關鍵字引數,呼叫例如:test(name = 『sum』,age=『18』,***=『man』)或者test(),返回的結果為:

注意: *ar**:把n個引數轉換成元組的方式

**kwar**:把n個關鍵引數轉換成字典的方式

!!!引數組要放到引數的最後!!!
函式中是可以修改全域性變數的,只需加:global school 但是一般不要用,這樣會導致全域性變數會隨著函式的呼叫而變化

全域性變數:全域性變數中除了字串與整數不能在區域性變數中修改,而列表(list)、字典(dict)是可以修改的

遞迴最多為999層,到了999程式會自動關閉

遞迴的含義:

1、遞迴必須有明確的結束條件

2、每一次遞迴的時候,問題規模比上次遞迴應該都是逐次減少的

3、效率不高、容易棧溢位

def add(a,b,f): #其中abs為取絕對值

print f(a)+f(b)

res = add(3,-6,abs)

print(res)

結果為:9

Python函式 高階函式 遞迴函式

1.遞迴函式 1.1體現 函式a內部,繼續呼叫函式a 概念 傳遞 回歸 1.2注意事項 遞迴函式一定是有傳遞有回歸的。1.3案例 求乙個數值的階乘 階乘 1 n的階乘就是從1乘到9 可以使用迴圈來解決 temp 1 for i in range 1,10 temp temp i print temp...

python 函式4(遞迴 高階函式)

python 函式4 遞迴 高階函式 遞迴 在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。遞迴特性 1.遞迴必須有乙個明確的結束條件 2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少 3.遞迴效率不高,遞迴層次過多會導致棧溢位 在計算機中,函式呼叫是...

高階函式和遞迴函式

1.高階函式 1 函式名可以進行賦值 def f args print args f 1,2,3 1,2,3 f 1,2,3 1,2,3 或 def ft kwargs print kwargs ft info ft 2 函式名可以作為函式引數,還可以作為函式的返回值 def f n return ...