python 高階函式

2021-10-19 17:23:44 字數 1646 閱讀 5184

一·高階函式

把函式作為引數傳入

abs() 求絕對值

round() 四捨五入

一般方法

def

add_num

(a,b)

:return

abs(a)

+abs

(b)result = add_num(-3

,1)print

(result)

#3

高階函式方法:增加靈活性,傳入任意函式

def

add_num

(a,b,f)

return f(a)

+ f(b)

print

(add_num(10,

-20,abs))

#30print

(add_num(

1.6,

2.1,

round))

#4

定義乙個引數f,用來傳遞函式

二·內建的高階函式

1.map()

map(func,lst),將傳入的函式變數func作用到list變數的每個元素中,並將結果組成新的列表

例子:計算list1序列中各個數字的2次方

list1 =[1

,2,3

,4]def

func

(x):

return x **

2result =

map(func,list1)

print

(result)

#迭代器

print

(list

(result)

)#[1,4,9,16]

2.reduce()

reduce(func,lst),其中func必須有兩個引數,每次func計算的結果和序列下乙個元素做累積計算

例子:計算list1序列中各個數字的累加和

import functools

list1 =[1

,2,3

,4,5

]def

func

(a, b)

:return a + b

result = functools.

reduce

(func,list1)

print

(result)

#15

即1+2+3+4+5

3.filter()

filter(func,lst)函式用於過濾序列,過濾掉不符合條件的元素,返回乙個filter物件。如果要轉換成列表,可以用list()來轉換。

list1 =[1

,2,3

,4,5

,6,7

,8,9

,10]def

func

(x):

return x %2==

0result =

filter

(func,list1)

print

(result)

#print

(list

(result)

)#[2,4,6,8,10]

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...

Python高階 函式高階

閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...

python 函式 高階函式

filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...