def my_test(some_function):
def wrapper():
num = 10
if num == 10:
print("Yes")
else:
print("No")
some_function()
print("Something is happening after some_function() is called")
return wrapper
def just_some_function():
print("Filler text")
my_test(just_some_function)
genannt Als ich dieses Skript ausführen, sollte es zeigen:Python-Funktion nichts zurückkehrt, wenn
Ja
Fülltext
Etwas nach some_function geschieht() aufgerufen wird
seit my_test(just_some_function)
Anrufe my_test
, geht durch die Wrapper-Funktion, prüft ob num == 10
, druckt "Ja", geht dann zu just_some_function()
(da some_function
ist die "Variable" für die Funktion my_test()
), druckt "Füllertext" und endet schließlich mit dem Ausdruck "Etwas passiert nachdem some_function() aufgerufen wurde. " Aber nichts passiert in der Konsole, wenn ich das Skript ausführe.
yeah, aber du solltest 'wrapper()' zurückgeben oder das Ergebnis wie 'my_test (just_some_function)()' –
nennen Sieht aus, als würdest du über Dekorateure nachdenken. – quamrana