2016-10-24 3 views
0

das ist die Zuweisung Schreiben Sie eine Funktion, die eine andere Funktion und einen Wert wie in Daten partiell übernimmt. Teil sollte eine neue Funktion mit der gleichen Funktion wie die gegebenen Funktion, aber es ist das erste Argument an den angegebenen functuin Rückkehr auf einen Wert gebunden, die als zweites Argument TeilPython-Funktion in Funktionsaufruf auf Variable

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

ich nicht gegeben wurde, ganz verstehe die Zuordnung und ich bin neu in der Funktion zu funktionieren, aber ich habe das bisher gemacht und ich denke ich bin auf dem richtigen Weg?

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

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

Antwort

0

Also zunächst einmal:

  • Was teilweise nicht tun sollte?

Es ermöglicht Ihnen, inkrementell neue Funktion aus einem anderen mit einigen bereits angewendeten Argumenten zu erstellen. Wie in Ihrem Fall fügen Sie immer etwas Nummer 5.

Gute Antwort finden Sie hier: Currying in Python

Also für Ihre Frage beantworten, wie implemnt eigene Teilfunktion sein:

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

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

durch ein Bündel:

die bereits eine Verwendung mit getan werden! Das macht es funktioniert. – Jim

+0

so markieren Sie es als richtige Antwort –

+0

Ich tat, ich werde ein anderes Problem posten Ich denke, Sie können mir auch mit diesem helfen – Jim

0

I würde empfehlen, this link zu lesen. Dies zeigt Ihnen, wie die Teilfunktion geschrieben ist, so dass Sie entweder Ihre eigene schreiben oder die bereits erstellte verwenden können.

from functools import partial 

add_n = partial(add, 5) 
Verwandte Themen