Rendimento Python

Python Yield



Yield é uma palavra-chave interna do Python que retorna o (s) valor (es) de uma função. A execução da função não é encerrada. Em vez disso, ele retorna o valor ao chamador e mantém o estado de execução da função. A execução da função é retomada a partir da última declaração de rendimento. O rendimento nos permite produzir uma sequência de valores em vez de um valor. É usado dentro de um corpo de função. A função que contém uma declaração de rendimento é conhecida como função geradora.







Existem várias vantagens para produzir palavras-chave. Por exemplo, ele controla a alocação de memória e salva o estado da variável local. No entanto, aumenta a complexidade do código.



Este artigo explica o uso da palavra-chave yield com exemplos.



Sintaxe de rendimento

A sintaxe de rendimento é simples e direta. O rendimento é iniciado com a palavra-chave yield e a sintaxe da seguinte maneira:





produçãovalor

Exemplos

Agora, vamos ver exemplos para entender o uso e o funcionamento das declarações de rendimento. Tradicionalmente, a palavra-chave return termina a execução do programa e retorna um valor no final, enquanto yield retorna a sequência de valores. Ele não armazena o valor na memória e retorna o valor ao chamador em tempo de execução. No exemplo abaixo, uma função geradora é definida para determinar o ano bissexto. Um salto é aquele ano em que divisível por quatro retorna zero como resto. A palavra-chave yield retorna o valor do ano bissexto ao chamador. Como obterá o valor do ano bissexto, ele pausará a execução do programa, retornará o valor e, em seguida, retomará a execução de onde foi interrompido.

#declarar um gerador para determinar o ano bissexto
defleapfunc(minha lista):
paraeunominha lista:
E se(eu%4==0):
#using yield
produçãoeu
#declarando a lista de anos
year_list=[2010,2011,2012,2016,2020,2024]
imprimir('Imprimir os valores do ano bissexto')
paraxnoleapfunc(year_list):
imprimir(x)

Saída



A saída mostra a série de anos bissextos.

Vejamos outro exemplo em que a função geradora produz vários números e strings.

#declarar uma função geradora
defmyfunc():
produção 'Marca'
produção 'João'
produção 'Taylor'
produção 'Ivan'
produção 10
produção vinte
produção 30
produção 40
produção cinquenta
#calling e iterando por meio da função do gerador
paraeunomyfunc():
#printing values
imprimir(eu)

Saída

Vamos implementar uma função geradora para calcular e imprimir o valor do cubo da sequência de números. Estamos gerando os valores do cubo de 1 a 30.

#declarar uma função geradora para calcular o valor do cubo
defcalcube():
horas=1
#o loop infinito while
enquanto Verdade:
#calcumating cube
produçãoval * val * val
#incrementando o valor em 1
horas=val +1
imprimir('Os valores do cubo são:')
#calling a função do gerador
paraeunocalcube():
E seeu>30:
pausa
imprimir(eu)

Saída

A saída mostra o valor do cubo menor que 30.

Conclusão

Yield é uma palavra-chave interna do Python que não termina a execução do programa e gera uma série de valores. Em comparação com a palavra-chave return, a palavra-chave yield produz vários valores e retorna ao chamador. Este artigo explica o rendimento do Python com exemplos.