Eine Rückruffunktion ist eine Funktion, die im Voraus festgelegt wurde, damit sie während der Ausführung der aufgerufenen Funktion im Programm ausgeführt wird. http://e-words.jp/w/%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0.html
Es wird auch als eine Funktion beschrieben, die als Argument einer Funktion übergeben wird.
Es ist ein verlinkter Artikel http://qiita.com/pocket8137/items/df5afba90b51e90587a5 Definieren Sie zunächst eine Funktion, die die Rückruffunktion aufruft.
def handler(func,*args):
return func(*args)
Das erste Argument ist ein Funktionszeiger und das zweite Argument ist ein variables Argument. Das zweite Argument erhält das Argument der Rückruffunktion.
Und definieren Sie die Rückruffunktion
def say_hello(name):
print("Hello!!")
print(name)
Anruf. Übrigens wird in Python auf den Funktionszeiger verwiesen, indem dem Funktionsnamen kein () hinzugefügt wird.
if __name__ == "__main__":
callback = say_hello
#zum Rückruf sagen_Speichert die Hallo-Objekt-ID
handler(callback, "moroku0519")
Ausführungsergebnis
Hello!!
moroku0519
In meinem Fall gab es Fälle, in denen ich die verwendeten Funktionen trennen wollte. Daher habe ich ein Wörterbuch definiert, in dem die Objekt-ID gespeichert ist.
def handler(func, *args):
return func(*args)
def function1(hoge):
return hoge
def function2(hoge, huga):
return hoge, huga
func_dic = {"func1": function1, "func2": function2}
result1 = handler(func_dic["func1"], hoge)
result2, result3 = handler(func_dic["func2"], hoge, huga)
Recommended Posts