Автор оригинала: Python Examples.
Функция обратного вызова Python
Перед выполнением функции обратного вызова в Python сначала мы будем чистить понимание того, что такое функция обратного вызова.
Что такое функция обратного вызова?
Обратный вызов – это функция, которая передается как аргумент для другой функции. Ожидается, что эта другая функция будет вызывать эту функцию обратного вызова в своем определении. Точка, при которой другие функции вызывают наш обратный вызов, зависит от требования и характера другой функции.
Функции обратного вызова обычно используются с асинхронными функциями.
Пример Функции обратного вызова : Функция обратного вызова может быть передана функции для распечатки размера файла после того, как функция чтения дана текстовый файл.
Пример 1: Функция обратного вызова
В этом примере мы определим функцию имени printfilllength ()
который принимает путь к файлу и обратный вызов функции в качестве аргументов.
printfilllength ()
Читает файл, получает длину файла и в конце создает вызов функции обратного вызова.
Python Program
def callbackFunc(s): print('Length of the text file is : ', s) def printFileLength(path, callback): f = open(path, "r") length = len(f.read()) f.close() callback(length) if __name__ == '__main__': printFileLength("sample.txt", callbackFunc)
Выход
Length of the text file is : 56
Вы можете пройти разные функции обратного вызова по мере необходимости. В следующей программе мы определим две функции callbackfunc1 () и callbackfunc2 (), которые мы будем использовать в качестве функций обратного вызова для printfilllenge (). Но мы не изменяем определение функции pryptfilllength ().
Python Program
def callbackFunc1(s): print('Callback Function 1: Length of the text file is : ', s) def callbackFunc2(s): print('Callback Function 2: Length of the text file is : ', s) def printFileLength(path, callback): f = open(path, "r") length = len(f.read()) f.close() callback(length) if __name__ == '__main__': printFileLength("sample.txt", callbackFunc1) printFileLength("sample.txt", callbackFunc2)
Выход
Callback Function 1: Length of the text file is : 56 Callback Function 2: Length of the text file is : 56
Резюме
В этом руководстве примеров Python мы узнали, что такое функция обратного вызова, и как реализовать функцию обратного вызова в Python с примерами.