Funktionen mit und ohne Klammern aufrufen
Verfasst: Freitag 22. Mai 2015, 12:39
Hallo,
wieso führt beides zum gleichen Ergebnis (man achte auf die Klammern hinter der Funktion, Zeile 3 und 7):
:: UND ::
Wie kann man logisch an die Sache herangehen? Wieso gehts mal ohne, mal mit Klammern. Ich weiß, das hat etwas damit zu tun, dass Funktionen Objekte sind und man ohne Klammern nur die Objekte aufruft, aber trotzdem blicke ich da nicht durch.
Und wieso kriege ich eine Fehlermeldung wenn ich Versuche den Wrapper am Ende durch
print(newfunc())
aufzurufen (mit Klammern)?
Danke und Grüße,
Chevallier
wieso führt beides zum gleichen Ergebnis (man achte auf die Klammern hinter der Funktion, Zeile 3 und 7):
Code: Alles auswählen
def outerdec(func):
def innerdec():
return func + 1
return innerdec()
def normalfunc():
return 3
newfunc=outerdec(normalfunc())
print(newfunc)
Code: Alles auswählen
def outerdec(func):
def innerdec():
return func() + 1
return innerdec()
def normalfunc():
return 3
newfunc=outerdec(normalfunc)
print(newfunc)
Und wieso kriege ich eine Fehlermeldung wenn ich Versuche den Wrapper am Ende durch
print(newfunc())
aufzurufen (mit Klammern)?
Danke und Grüße,
Chevallier