1. 程式人生 > >Python學習(4)——函數語言程式設計

Python學習(4)——函數語言程式設計

函數語言程式設計的一個特點就是,允許把函式本身作為引數傳入另一個函式,還允許返回一個函式!

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

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317848428125ae6aa24068b4c50a7e71501ab275d52000