Une fonction de rappel est une fonction qui est spécifiée à l'avance afin qu'elle soit exécutée lors de l'exécution de la fonction appelée dans le programme. 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
Il est également décrit comme une fonction passée comme argument d'une fonction.
C'est un article lié http://qiita.com/pocket8137/items/df5afba90b51e90587a5 Tout d'abord, définissez une fonction qui appelle la fonction de rappel.
def handler(func,*args):
return func(*args)
Le premier argument est un pointeur de fonction et le deuxième argument est un argument variable. Le deuxième argument reçoit l'argument de la fonction de rappel.
Et définissez la fonction de rappel
def say_hello(name):
print("Hello!!")
print(name)
Appel. À propos, en Python, le pointeur de fonction est pointé en n'ajoutant pas () au nom de la fonction.
if __name__ == "__main__":
callback = say_hello
#dire pour rappeler_Stocke l'ID d'objet Hello
handler(callback, "moroku0519")
Résultat d'exécution
Hello!!
moroku0519
Dans mon cas, il y a eu des occasions où je voulais séparer les fonctions utilisées. Par conséquent, j'ai défini un dictionnaire qui stocke l'ID de l'objet.
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