python基礎: 柯里化:部分參數應用

柯里化(currying)是一個有趣的計算機科學術語,它指的是通過“部分參數應用”(partial argument application)從現有函數派生出新函數的技術。假設我們有一個簡單的執行兩數相加的函數:

def add_numbers(a,b):
    return a+b

通過這個函數,我們可以派生出一個新的只有一個參數的函數——add_five,它用於對其參數加5:

add_five = lambda b: add_numbers(5, b)

add_numbers的第二個參數稱爲“柯里化的”(curried)。這裏沒什麼特別花哨的東西,因爲我們其實就只是定義了一個可以調用現有函數的新函數而已。內置的functools模塊可以用partial函數將此過程簡化:

from functools import partial
add_five=partial(add_numbers,5)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章