python學習 函式式程式設計

2021-09-05 09:30:06 字數 1069 閱讀 1300

函式式程式設計就是一種抽象程度很高的程式設計正規化,純粹的函式式程式語言編寫的函式沒有變數,因此,任意乙個函式,只要輸入是確定的,輸出就是確定的,這種純函式我們稱之為沒有***。而允許使用變數的程式語言,由於函式內部的變數狀態不確定,同樣的輸入,可能得到不同的輸出,因此,這種函式是有***的。

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

lambda表示式:就是乙個表示式,函式體相對簡單;可以有引數,多個引數用逗號隔開。

lanmbda表示式用法:以lambda開頭,緊跟著一定的引數,引數後面用冒號和表示式主體隔開;只是乙個表示式,所以沒有返回值。

pingfang = lambda x :x * x

pingfang(4)

#輸出:16

把函式作為引數使用的函式

def add(x, y, f):

return f(x) + f(y)

print(add(-5, 6, abs))

#輸出 11

原意是對映,即把集合或列表裡的元素,每個元素都按照一定的規則進行操作,生成乙個新的列表或集合;map函式是系統提供的具有對映功能的函式,返回值是乙個迭代物件。

l1 = [i for i in range(10)]

l2 =

for i in l1:

print(l2)

#輸出:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

#利用map實現

def multen(n):

return n*10

l3 = map(multen,l1)

print(type(l3))

print(l3)

for i in l3:

print(i)

'''輸出:0

1020

3040

5060

7080

90'''

說明你map是可迭代的,map返回的型別就是map型別,這點python2和python3不一樣。

Python學習 函式式程式設計

高階函式除了可以接受函式作為引數外,還可以把函式作為結果值返回。我們來實現乙個可變引數的求和。通常情況下,求和的函式是這樣定義的 def calc sum args ax 0 for n in args ax ax n return ax 但是,如果不需要立刻求和,而是在後面的 中,根據需要再計算怎...

python學習(四) 函式式程式設計

函式是python內建支援的一種封裝,我們通過把大段 拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。而函式式程式設計 請注意多了乙個 式 字 functional programming,雖然也可以歸結...

Python學習之 函式式程式設計

1 函式式程式設計 1.1 匿名函式 關鍵字lambda表示匿名函式,冒號前面的 x 表示引數。冒號後面只能有乙個表示式,不寫return,返回值就是該表示式的結果。可以不必定義函式名,直接建立乙個函式物件。返回函式的時候,也可以返回匿名函式。下面的 是乙個例子 myabs lambda x x i...