Python學習(4)——函數語言程式設計
阿新 • • 發佈:2018-11-16
函數語言程式設計的一個特點就是,允許把函式本身作為引數傳入另一個函式,還允許返回一個函式!
Python對函數語言程式設計提供部分支援。由於Python允許使用變數,因此,Python不是純函數語言程式設計語言。
1、高階函式
(1)map
將傳入的函式依次作用到序列的每個元素,並把結果作為新的Iterator
返回
(2)reduce
函式必須接收兩個引數,reduce
把結果繼續和序列的下一個元素做累積計算
from functools import reduce
(3)filter
把傳入的函式依次作用於每個元素,然後根據返回值是True
還是False
決定保留還是丟棄該元素
素數生成器
(4)sorted
sorted()
函式也是一個高階函式,它還可以接收一個key
函式來實現自定義的排序
要進行反向排序,不必改動key函式,可以傳入第三個引數reverse=True
(5)返回函式,閉包
(6)
匿名函式,lambda
匿名函式只能有一個表示式,不用寫return
,返回值就是該表示式的結果
(7)裝飾器
函式呼叫時列印一些日誌
(8)偏函式
functools.partial