Verwenden Sie die Rückruffunktion in Python

Was ist eine Rückruffunktion?

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.

wie benutzt man

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

Wofür hast du es benutzt?

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

Verwenden Sie die Rückruffunktion in Python
Verwenden Sie config.ini mit Python
Verwenden Sie Datumsangaben in Python
Verwenden Sie Valgrind mit Python
Verwenden Sie den Profiler in Python
Mal sehen, wie def in Python verwendet wird
Verwenden Sie den let-Ausdruck in Python
Erstellen Sie eine Funktion in Python
Verwenden Sie den Parameterspeicher in Python
ntile (Dezil) -Funktion in Python
Verwenden Sie den HTTP-Cache in Python
Verwenden Sie in Python ein Diktat mit Listenschlüssel
Verwenden Sie Random Forest mit Python
Verwenden Sie Spyder von Python IDE
Nichtlineare Funktionsmodellierung in Python
Zeichne die Yin-Funktion in Python
Sofortige Funktion (Lüge) in Python
Python-Funktion ①
[Python] -Funktion
Python-Funktion ②
[Python] Rückruffunktion (Funktion als Argument übergeben)
Definition des Funktionsargumenttyps in Python
Verwenden Sie Stoff wie in Python (Stoff3)
Verwendung von SQLite in Python
Schreiben Sie die AWS Lambda-Funktion in Python
Messen Sie die Ausführungszeit von Funktionen in Python
Verwenden Sie rospy mit virtualenv in Python3
Wie man MySQL mit Python benutzt
Verwenden Sie Python in pyenv mit NeoVim
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Funktionssynthese und Anwendung in Python
Verwenden Sie OpenCV mit Python 3 in Window
Verwendung der Zip-Funktion von Python
So geben Sie char * in einer Rückruffunktion mit ctypes in Python zurück
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Verwenden Sie print in Python2 lambda expression
Python-Aufzählungsfunktion
Metaanalyse in Python
Vorsichtsmaßnahmen beim Beizen einer Funktion in Python
Unittest in Python
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
Python> Funktion> Schließen
Epoche in Python
[Python] Verwendung von __command__, Funktionserklärung
Zwietracht in Python
[Python] Generatorfunktion
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python