今天主要在這裡仔細說明一下高階函式與偏函式的知識。
高階函式
在絕大多數通常的計算機語言裡,函式的引數只接受基本的資料型別或是物件的引用,返回值也只是基本資料型別或者物件引用。
示例如下:
function test1()else{
return function(){
console.log('資料不符合規範,錯誤',n)
let result = operation(1,function(){
console.log('正確執行')
result()
上面的operation 就是乙個偏函式,根據傳入的n的不同,會產生不同的新的函式返回給呼叫者。執行一下,效果如下:
傳入值為0時
傳入值為1時
由上面可以看出,我們可以根據指定部分的引數,構造出不同的函式。
為什麼要說偏函式呢?是因為在後面的非同步io程式設計中我們會接觸。
敬請期待,祝好!
Python高階之偏函式
當乙個函式有很多引數時,呼叫者就需要提供多個引數。如果減少引數個數,就可以簡化呼叫者的負擔。比如,int 函式可以把字串轉換為整數,當僅傳入字串時,int 函式預設按十進位制轉換 int 12345 12345但int 函式還提供額外的base引數,預設值為10。如果傳入base引數,就可以做n進製...
python函式式程式設計 高階函式 偏函式
三大特性 immutable data不可變資料 first class functions函式像變數一樣使用 尾遞迴優化 每次遞迴都重用stack 好處 parallelization並行 lazy evaluation惰性求值 determinism 確定性 函式式程式設計 map reduce...
python 偏函式 python 偏函式
functools.partial可以設定預設引數和關鍵字引數的預設值 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function 要注意,這裡的偏函式和數學意義上的偏函式不一樣。在介紹函式引數的時候,我們講到,通過設定引數的預設值,可以降低函式呼...