把函式作為引數傳入,這樣的函式稱為高階函式,高階函式是函式式程式設計的體現。函式式程式設計就是指這種高度抽象的程式設計正規化
def 函式名(方法引數名)
:return 方法引數名(
)# 呼叫
函式名(函式名)
在將函式作為引數傳入時,不加括號
def
numfunc
(a, b, f)
:return f(a)
+ f(b)
print
(numfunc(-10
,-12,
abs)
)
map(func,lst)
,將傳入的函式變數func
作用到lst
變數的每個元素中,並將結果組成新的列表(python2)/迭代器(python3)
返回
list1 =[1
,2,3
,4,5
,6,7
]def
func
(a):
return a **
2print
(map
(func, list1))#
print
(list
(map
(func, list1)))
# [1, 4, 9, 16, 25, 36, 49]
reduce(func, lst)
,其中func
必須有兩個引數。每次func
計算的結果繼續和序列的下乙個元素做累積計算
注意:reduce()
傳入的引數func
必須接受2個引數
import functools
list1 =[1
,2,3
,4,5
,6,7
]def
func1
(a, b)
:return a + b
print
(functools.
reduce
(func1, list1)
)# 28
filter(func, lst)
函式用於過濾序列,過濾掉不符合條件的元素,返回乙個filter
物件
list1 =[1
,2,3
,4,5
,6,7
]def
func2
(a):
return a %2==
0print
(list
(filter
(func2, list1)))
# [2, 4, 6]
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...