1. 程式人生 > >Python 高階函數

Python 高階函數

python

1.函數本身也可以賦值給變量,即:變量可以指向函數。函數名其實就是指向函數的變量!

技術分享

2.變量可以指向函數,函數的參數能接收變量,那麽一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數

技術分享

3.map() 函數接收兩個參數,一個是函數,一個是序列, map 將傳入的函數依次作用到序列的每個元素,並把結果作為新的 list 返回

技術分享

4.reduce 函數把一個函數作序用在一個列[x1, x2, x3...]上,這個函數必須接收兩個參數,reduce 把結果繼續和序列的下一個元素做累積計算。

技術分享

5.filter() 也接收一個函數和一個序列。和 map() 不同的時,filter() 把傳入的函數依次作用於每個元素,然後根據返回值是 True還是 False 決定保留還是丟棄該元素。

技術分享 6.python內置的

sorted() 函數就可以對 list 進行從小到大排序

技術分享

sorted倒序排列

技術分享 7. *匿名函數。當我們在傳入函數時,有些時候,不需要顯式地定義函數,直接傳入匿名函數更方便。關鍵字 lambda 表示匿名函數,冒號前面的 x 表示函數參數。

技術分享

*匿名函數有只能有一個表達式,不用寫 return ,返回值就是該表達式的結果。

*因為匿名函數沒有名字,不必擔心函數名沖突。 匿名函數也是一個函數對象,也可以把匿名函數賦值給一個變量,再利用變量來調用該函數。

技術分享

*也可以把匿名函數作為返回值返回

技術分享

8. 裝飾器就是用來裝飾函數。

想要增強原有函數的功能;

但不希望修改now()函數的定義;

在代碼運行期間動態增加功能的方式

技術分享

Python 高階函數