Funktion als Variable in Python
In Python ist eine Funktion im Wesentlichen eine Variable. Und das bedeutet, dass sie auch übergeben werden kann.
Nehmen wir an, wir haben eine Funktion, die ein Ausrufezeichen zurückgibt:
def func():
return '!'
Übergeben wir an print den Namen der Funktion
ohne runde Klammern als Variable:
print(func)
Nach der Ausführung des Codes wird in der Konsole ein spezielles Objekt ausgegeben, das Informationen über diese Funktion enthält:
<function func at 0x0000022816383E20>
Deklarieren wir nun eine Variable func2,
in deren Wert wir die Funktion func1 übergeben.
Die Funktion selbst wird nicht als Wert übergeben,
sondern als Referenz als Objekt. Und beim Aufruf
von func2 mit runden Klammern wird in der
Konsole das Ergebnis von func1 ausgegeben:
def func1():
print('!')
func2 = func1
func2() # gibt '!' aus
Was wird das Ergebnis der Ausführung des folgenden Codes sein:
def func():
print('hello, user!')
greet = func
print(greet)
Was wird das Ergebnis der Ausführung des folgenden Codes sein:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))