12 19 python的函式式程式設計

2021-08-13 19:02:48 字數 890 閱讀 8895

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 函式式程式設計

函式式程式設計就是一種抽象程度很高的程式設計正規化,其乙個特點是允許把函式本身作為引數傳入另乙個函式,還允許返回乙個函式!把函式作為引數傳入,這樣的函式稱為高階函式,函式式程式設計就是指這種高度抽象的程式設計正規化。既然變數可以指向函式,函式的引數能接收變數,那麼乙個函式就可以接收另乙個函式作為引數...