Автор оригинала: 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 с примерами.