Rendimento Python vs. Retorno

Python Yield Vs Return



Python é a linguagem de programação de propósito geral amplamente usada nos últimos tempos. O rendimento é uma palavra-chave Python embutida que é usada para criar as funções geradoras. Sua função gera uma série de resultados. Ele pausa a execução do programa, envia o valor do resultado de volta ao chamador e retoma a execução a partir do último rendimento. Além disso, a função yield envia a série de resultados gerada na forma de um objeto gerador. Por outro lado, o retorno também é uma palavra-chave embutida no Python que termina a função e envia o valor de volta ao chamador.

Este artigo descreve as diferenças entre o rendimento e os retornos com exemplos.







Diferenças entre rendimento e retorno

Para começar, existem muitas diferenças importantes entre o rendimento e o retorno. Vamos primeiro discutir o que são.



Retornar Produção
A instrução de retorno retorna apenas um único valor para o chamador. A instrução de rendimento pode retornar uma série de resultados ao chamador na forma de um objeto gerador.
O retorno sai da função e, no caso de um loop, ele descarta o loop. É a última instrução a ser colocada dentro da função. Não elimina as variáveis ​​locais da função. Ele suspende a execução e envia o valor de volta ao chamador e continua a execução do programa a partir da última declaração de rendimento.
Logicamente, uma função deve ter apenas uma instrução de retorno. Pode haver mais de uma instrução de rendimento dentro da função.
A instrução de retorno só pode ser executada uma vez. A declaração de rendimento pode ser executada várias vezes.
A instrução return é colocada dentro de uma função Python regular. A declaração de rendimento converte uma função regular em uma função geradora.

Exemplo 1: Retorno vs. Rendimento

Agora, vamos ver a diferença entre declarações de retorno e rendimento por meio de exemplos. No programa de exemplo fornecido a seguir, usamos várias instruções de retorno. Você pode observar que a execução do programa terminará após a primeira instrução de retorno, e o resto do código não será executado.



# um programa para mostrar o funcionamento da instrução return

# definindo uma variável numérica

num1=10

# definindo uma variável numérica

num2=vinte

#criar uma função para realizar operações aritméticas

def mathOP():

#calculando o valor da soma

Retornanum1+num2

#calculando a diferença

Retornanum1-num2

#calculando o valor de multiplicação

Retornanum1*num2

#calculando o valor da divisão

Retornanum1/num2

#calling a função

imprimir(mathOP())

Saída





Na saída, pode-se observar que a função retorna apenas o primeiro valor e o programa é encerrado.



Para realizar uma tarefa semelhante com várias instruções de retorno, precisamos criar quatro funções diferentes para cada tipo de operação aritmética.

# um programa para mostrar o funcionamento da instrução return

# definindo uma variável numérica

num1=10

# definindo uma variável numérica

num2=vinte

#criar uma função para realizar operações aritméticas

def sumOP():

#calculando o valor da soma

Retornanum1+num2

def subtractOP():

#calculando a diferença

Retornanum1-num2

def multiplationOP():

#calculando o valor de multiplicação

Retornanum1*num2

def divisionOP():

#calculando o valor da divisão

Retornanum1/num2

#calling a função sum

imprimir('O valor da soma é:',sumOP())

#calling a função de subtração

imprimir('O valor da diferença é:',subtrair OP())

#calling a função de multiplicação

imprimir('O valor de multiplicação é:',multiplicaçãoOP())

#chamando a função de divisão

imprimir('O valor da divisão é:',divisionOP())

Saída

Podemos realizar essas múltiplas operações aritméticas dentro de uma única função geradora com múltiplas declarações de rendimento.

# um programa para mostrar o funcionamento da declaração de rendimento

# definindo uma variável numérica

num1=10

# definindo uma variável numérica

num2=vinte

#criar uma função para realizar operações aritméticas

def mathOP():

#calculando o valor da soma

produçãonum1+num2

#calculando a diferença

produçãonum1-num2

#calculando o valor de multiplicação

produçãonum1*num2

#calculando o valor da divisão

produçãonum1/num2

#calling a função

imprimir('Imprimindo os valores:')

# using for loop para acessar os valores do objeto gerador

paraeu em mathOP():

imprimir(eu)

Saída

Exemplo 2: Retorno vs. Rendimento

Vejamos outro exemplo de declarações de retorno e rendimento. No exemplo dado, temos uma lista de números que é passada para a função mod () como um argumento. Estamos realizando a operação de módulo em cada número da lista e verificando quais são esses números quando divididos por 10 retornam zero como um valor de resto.

Primeiro, vamos implementar este exemplo em nosso script Python com a instrução return.

# definindo uma lista de números

minha lista=[10,vinte,25,30,35,40,cinquenta]

# definindo uma função para realizar a operação de módulo

def mod(minha lista):

paraeu em minha lista:

#performing modulus operation

E se(eu%10==0):

Retornaeu

imprimir(contra(minha lista))

Saída

A instrução return retorna apenas o primeiro número ao chamador e encerra a execução da função.

Agora, vamos implementar o mesmo exemplo em nosso script Python com a declaração de rendimento.

# definindo uma lista de números

minha lista=[10,vinte,25,30,35,40,cinquenta]

# definindo uma função para realizar a operação de módulo

def mod(minha lista):

paraeu em minha lista:

#performing modulus operation

E se(eu%10==0):

#a declaração de rendimento

produçãoeu

paraeu no mod(minha lista):

imprimir(eu)

Saída

Conclusão

Concluindo, o retorno e o rendimento são duas palavras-chave ou instruções integradas do Python. A instrução return é usada para retornar o valor ao chamador de uma função e termina a execução do programa, enquanto a instrução yield produz um objeto gerador e pode retornar os vários valores ao chamador sem terminar a execução do programa. Este artigo lista todas as diferenças proeminentes entre declarações de retorno e rendimento com exemplos.