Seite 1 von 1
Funktionsaufruf mit zwei Klammern
Verfasst: Sonntag 22. Dezember 2024, 07:58
von NWA
Hallo,
ich bin auf einen Funktionsaufruf gestossen. den ich nicht verstehe. Bei der Recherche zu dem Problem bekomme ich leider keine Lösung.
Folgender Code:
Code: Alles auswählen
def function1(arg1):
...
antwort = function1(arg1: "Text")(**params)
Wofür kann man die zweite Klammer verwenden?
Re: Funktionsaufruf mit zwei Klammern
Verfasst: Sonntag 22. Dezember 2024, 08:59
von pillmuncher
Funktionen sind in Python Objekte, wie alles andere auch. Deswegen kann man Funktionen auch herumreichen:
Man kann auch Funktionen als Rückgabewert haben:
Code: Alles auswählen
>>> def bar():
... return print
...
>>> b = bar()
>>> b(234)
234
Und man braucht den Rückabewert nicht einer Variablen zuzuweisen, sondern man kann ihn direkt verwenden:
Re: Funktionsaufruf mit zwei Klammern
Verfasst: Sonntag 22. Dezember 2024, 10:56
von Dennis89
Hallo,
der Teil mit `arg1: "Text"` ist doch syntaktisch falsch? Die Annotation gehört doch, wenn, in die Funktion, also `def funtion1(arg1: str)` und der Aufruf, dann eher `function1(arg1="Text")` oder?
Grüße
Dennis
Re: Funktionsaufruf mit zwei Klammern
Verfasst: Sonntag 22. Dezember 2024, 19:04
von NWA
@pillmuncher
Vielen Dank für deine netten Beispiele. Ich habe jetzt das Prinzip verstanden.
@Dennis
Hast natürlich recht. Hatte den Fehler nicht bemerkt...