Python高階函式與裝飾器函式
高階函式
1、可以使用函式物件作為引數的函式

2、或可以將函式作為回傳值的函式

3、函式物件:定義好的函式,使用函式名呼叫(不要加括號)
#將函式作為引數的高階函式,通過傳入不同的函式,可以使執行的結果不同
4、內置高階函式
(1)map資料映射函式
map函式接收的是兩個引數,一個函式,一個序列,其功能是將序列中的值處理再依次回傳至串列內,其回傳值為一個迭代器物件

(2)reduce累計函式
reduce函式也是一個引數為函式,一個為可迭代物件的高階函式,其回傳值為一個值而不是迭代器物件,故其常用與疊加、疊乘等

裝飾器函式
1、是不修改原函式的代碼的基礎上,修改增加其他函式功能的函式
2、一個裝飾器函式可以給n個函式添加或修改相同的功能
裝飾器函式的實作方法
1、是一個嵌套函式
2、它也是一個高階函式,將原函式作為引數,將內部函式作為回傳值
3、將原函式替換為內部函式,原函式在內部函式中執行保留原函式的功能

#通過args 和 *kwargs 傳遞被修飾函式中的引數
#@符號是裝飾器的語法糖,在定義函式的時候使用,避免再一次賦值操作
有參裝飾器(給無參裝飾器上再加一層函式用于接收引數)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/209993.html
標籤:其他
上一篇:主板接喇叭沒有聲音
下一篇:python math類
