Auf codewars.com bin ich auf folgende Aufgabe gestoßen:
Erstellen Sie eine Funktion
add
, die beim aufeinanderfolgenden Aufruf Zahlen addiert. Alsoadd(1)
sollte zurückkehren1
,add(1)(2)
sollte zurückkehren1+2
, ...
Obwohl ich mit den Grundlagen von Python vertraut bin, bin ich noch nie auf eine Funktion gestoßen, die in einer solchen Folge f(x)
aufgerufen werden kann , dh eine Funktion , die als aufgerufen werden kann f(x)(y)(z)...
. Bisher bin ich mir nicht einmal sicher, wie ich diese Notation interpretieren soll.
Als Mathematiker würde ich vermuten, dass dies f(x)(y)
eine Funktion ist, die jeder x
Funktion eine Funktion zuweist g_{x}
und dann zurückkehrt g_{x}(y)
und ebenfalls für f(x)(y)(z)
.
Sollte diese Interpretation korrekt sein, würde Python mir erlauben, dynamisch Funktionen zu erstellen, was mir sehr interessant erscheint. Ich habe in der letzten Stunde im Internet gesucht, konnte aber keinen Hinweis in die richtige Richtung finden. Da ich jedoch nicht weiß, wie dieses Programmierkonzept heißt, ist dies möglicherweise nicht allzu überraschend.
Wie nennt man dieses Konzept und wo kann ich mehr darüber lesen?
functools.partial()
| WP: Closures