Sintaxe
Rendimento de expressão
O rendimento de python retorna o objeto gerador. Estes são os objetos especiais que ajudam a obter o valor. Devido a isso, é iterado.
Ferramentas do gerador de python
Função do gerador:
Essas funções são definidas como uma função normal "def. Assim, o resultado é obtido um de cada vez.
Expressões geradoras:
Essas expressões funcionam de maneira semelhante às compreensões da lista. No entanto, eles diferem em um aspecto. À medida que retornam um objeto, ele mostra o resultado apenas quando exigido em vez de produzir as listas de resultados.
Exemplo
Uma ilustração simples para esclarecer o conceito de geradores é explicada abaixo. No começo, definiremos o gerador, como costumávamos definir uma função simples. Depois disso, imprimiremos a string e usaremos a palavra -chave de rendimento para retornar o valor.
Def Gen ()Onde gen () é o nome de um gerador, toda vez que o rendimento é chamado, ele retorna o valor a ser exibido.
Para obter a saída no Linux, vá para o terminal do Ubuntu e escreva o seguinte comando:
$ python3 '/home/aqsa/documents/resultadotemp.py '
Onde o python3 é uma palavra -chave usada, usamos o caminho de um arquivo com a extensão de “.py ”, que mostra que o arquivo está escrito em Python.
A saída é a seguinte:
Você pode ver que a função de rendimento retornou cada linha por linha.
Diferença entre o gerador e as funções normais
Aqui, tomamos um exemplo para explicar a diferença entre uma função regular e o gerador com uma função de rendimento. A princípio, a função normal é definida:
Def function ()Nesta função, apenas uma string é impressa como uma saída. Segundo, definimos um gerador.
Def Gerator ()Isso produzirá a string como uma saída. Depois de definir a função e o gerador, permitiremos as chamadas de função e permitiremos que eles imprimam.
Imprimir (gerador ())Agora, veremos a saída executando a mesma prática descrita acima.
A partir da saída, você pode ver que o resultado da função normal é obtido, mas o gerador mostrou algum tipo de erro. Portanto, há outra maneira de obter a saída usando o objeto do gerador. Tomamos o mesmo exemplo descrito acima para explicar a funcionalidade. Todo o código é o mesmo, mas o método de impressão do gerador é substituído pelo seguinte código:
Imprimir (Next (Gerator ()))Este comando ajudará a recuperar a string escrita no gerador.
Agora, a partir da saída, você pode ver isso em vez de exibir a mensagem de erro. A saída desejada é obtida na forma de uma corda.
Obtenha/leia os valores da função do gerador
Existem diferentes funções que ajudam a obter a saída do gerador. Discutiremos dois deles um por um.
Lista ()Uma lista é um objeto que contém seus valores dentro dos colchetes. Este objeto é iterável e exibe os valores com iterações. No gerador, as listas exibirão todos os valores que o gerador mantém. Além da lista, as funções loop () e a próxima () também são usadas para apresentar a saída.
Considere um exemplo no qual definimos um gerador chamado "função" na qual usamos um loop for para os números para iterar. Uma operação matemática é realizada nesta função. A função do gerador recebe um valor que é passado como um parâmetro quando essa função é chamada.
Para x no intervalo (n):Este é o código principal da função do gerador:
Então, depois de encontrar o módulo, o valor resultante é retornado usando o rendimento. Em seguida, o procedimento adicional de impressão é feito através da função da lista que é a seguinte.
Imprimir (Lista (NUM))Esta função fornece a saída na forma de uma lista. Por exemplo, a saída é mostrada abaixo:
Próximo()A função a seguir exibirá o próximo valor em qualquer lista, matriz ou objeto. Se usarmos a próxima função em qualquer matriz vazia, ela mostrará uma mensagem de erro. Então, para obter o valor fino, a matriz ou lista não deve estar vazia. A mesma operação matemática é aplicada neste exemplo. No entanto, o método de impressão é diferente. Como 20 é o número aprovado como um parâmetro, os números serão obtidos até que 20 sejam atingidos na saída. Concluímos sete rodadas.
Imprimir (Próximo (NUM))Agora, veremos a saída. Observe que todos os números pares são obtidos:
Série de números de Fibonacci e os geradores
Fibonacci Series é a sequência de números adquiridos adicionando os dois últimos números antes dela. Usamos o exemplo a seguir para entender a funcionalidade dos geradores. Nesta função, adotamos duas variáveis que armazenam dois valores numéricos neles. Nós também adotamos uma variável de contagem. Esta função funcionará de tal maneira que verificará se o valor da contagem é menor que o número atual. Em seguida, ele adicionará os dois números anteriores e os salvará no próximo. O processo permanecerá até que o número 7 seja alcançado. Finalmente, o resultado é obtido usando o loop for ().
A saída do código afixado acima é o seguinte:
0, 1, 1, 2, 3, 5, 8Chamada de função usando o rendimento
Este é o exemplo de chamar a função usando o rendimento. Em comparação, usamos a função quadrada no gerador.
Def GetSquare (n):Através da função de rendimentos, usamos a chamada de função para obter a resposta:
A saída necessária é dada abaixo:
0, 1, 4, 9, 14, 25, 36, 49, 64, 81Conclusão
Neste artigo, explicamos os exemplos de um gerador, como podemos obter a saída e a diferença entre o gerador e a função normal.