2016-10-24 201 views
0

這是賦值 編寫一個函數部分,它接受另一個函數和值,如同在數據中一樣。 部分應具有相同功能返回一個新功能給定的功能,但有給定functuin的第一個參數被綁定到被賦予作爲第二個參數部分的值python函數調用變量函數

run example: 
>>> def add(n, m): return n + m 
... 
>>> add_five = partial(add, 5) 
>>> add_five(3) 
8 
>>> add_five(16) 
21 

我不挺理解這項任務,我是新來的功能,但我做到目前爲止,我認爲我的方式是正確的?

def add(n,m): 
    return n+m 

def partial(func,number): 
    def add_n(number): 
     return func(0,number)+number 
    return add_n 

回答

0

所以首先:

  • 是什麼部分應該怎麼辦?

它允許你從另一個構造新的函數,並且已經應用​​了一些參數。像你的情況,你總是添加的東西5號

好答案可以在這裏找到:Currying in Python

所以回答你對自己的implemnt部分功能將會如何的問題:

def add(n,m): 
    return n+m 

def partial(func,number): 
    def add_n(arg): 
     return func(number,arg) 
    return add_n 
+0

感謝一大堆:

使用已經取得一個是可以做到的!這使它工作。 – Jim

+0

因此將其標記爲正確答案 –

+0

我做過了,我會發布另一個問題,我認爲您也可以幫助我解決這個問題 – Jim

0

我會推薦閱讀this link。這將向您展示如何編寫部分函數,​​以便您可以編寫自己的函數或使用已經編寫的函數。

from functools import partial 

add_n = partial(add, 5)