A função de retorno de chamada em Python
Neste artigo, você terá um entendimento mais profundo da função Python callback
. Confira nosso programa de amostra abaixo, que demonstra o propósito da função.
Python Paralelo
Parallel Python
é um módulo oferecido pelo Python que ajuda a fornecer um mecanismo adequado para a execução paralela de um programa em Python. Esses códigos Python geralmente estão em SMP
ou sistemas com múltiplos processadores e Clusters
, que são computadores conectados por uma rede.
Este módulo é de código aberto e de plataforma cruzada, que é escrito apenas em Python. É um módulo muito leve e também muito fácil de instalar com qualquer software Python.
Definição de função de retorno de chamada em Python
No módulo Parallel Python
, a função submit
é conhecida como a função callback
. A função callback
atua como um argumento para qualquer outra função. A outra função na qual a função callback
é um argumento chama a função callback
na sua definição de função. Outros módulos podem chamar a função callback
dependendo de seus requisitos e natureza.
Essas funções de callback
geralmente entram em jogo quando funções assíncronas são usadas no programa. Uma função assíncrona é uma função que às vezes funciona fora de sincronia ou de forma assíncrona por meio de tarefas como um loop.
O programa abaixo demonstrará o uso de uma função callback
:
def Func_CallBack(c):
print("File Length : ", c)
def File_Len(filepath, callback):
i = open(filepath, "r")
file_length = len(i.read())
i.close()
callback(file_length)
if __name__ == "__main__":
File_Length("randomfile.txt", Func_CallBack)
Neste exemplo, primeiro definimos uma função chamada Func_CallBack
, que retorna o comprimento total de todo o arquivo de texto. Inicialmente, a função Func_CallBack
leva o caminho do arquivo e os módulos callback
como argumentos. Finalmente, a função lê todo o arquivo e retorna o comprimento do arquivo. No final, a função Func_CallBack
chama os módulos callback
, que inicialmente funcionavam como argumentos.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn