1函式就是面向過程的程式設計的基本單元。
2.函式式程式設計的乙個特點就是,允許把函式本身作為引數傳入另乙個函式,還允許返回乙個函式!
3變數可以指向函式
4.函式名可以是變數名
5.乙個函式就可以接收另乙個函式作為引數,這種函式就稱之為高階函式。
map函式:
map()函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。
filter函式
filter()也接收乙個函式和乙個序列。和map()不同的是,filter()把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。 可以與lambda函式結合 相當於乙個if 語句
如l ist(filter(lambda x:x%2==1,range(1,20))) 可以篩選出1-20中的奇數
sorted函式:
sorted()函式就可以對list進行排序:可在排序序列後面加入引數,按照不同關鍵子排序, reverse=true 可以實現反轉排序
返回函式:
返回閉包時牢記一點:返回函式不要引用任何迴圈變數,或者後續會發生變化的變數
如何理解閉包???
匿名函式:
lambda
後面直接跟引數, 表示式,還有執行資料
如 lambda x: x*x range(1,10) 可以計算出1-10的平方
匿名函式還可以傳遞給變數
一般與reduce filter map結合使用
一般也就一行表示式,必須有返回值
不能有return
可以沒有引數,可以有乙個或多個引數
裝飾器: 不是很理解 ??
偏函式:
python函式式程式設計模式 什麼是函式式程式設計思維?
函式式程式設計與命令式程式設計最大的不同其實在於 函式式程式設計關心資料的對映,命令式程式設計關心解決問題的步驟 這裡的對映就是數學上 函式 的概念 一種東西和另一種東西之間的對應關係。這也是為什麼 函式式程式設計 叫做 函式 式程式設計。這是什麼意思呢?假如,現在你來到 google 面試,面試官...
map, reduce和filter(函式式程式設計)
map可以用於對可遍歷結構的每個元素執行同樣的操作,批量操作 map lambda x x 2,1,2,3,4 1,4,9,16 map lambda x,y x y,1,2,3 5,6,7 6,8,10 在python3種輸出上述結果 result1 list map lambda x x 2,1...
廖雪峰Python教程學習筆記4 函式式程式設計
函式式程式設計就是一種抽象程度很高的程式設計正規化,其乙個特點是允許把函式本身作為引數傳入另乙個函式,還允許返回乙個函式!把函式作為引數傳入,這樣的函式稱為高階函式,函式式程式設計就是指這種高度抽象的程式設計正規化。既然變數可以指向函式,函式的引數能接收變數,那麼乙個函式就可以接收另乙個函式作為引數...