image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image

SF

Savannah Farias29/07/2024 11:37
Compartilhe

Descomplicando Geradores em Python: Eficiência e Elegância no Seu Código

    Quer deixar seu código Python mais eficiente e estiloso? Vamos explorar geradores e iteradores de um jeito simples e descomplicado! Vem comigo e descubra esses truques incríveis!

    O que são Geradores em Python

    Geradores são como listas mágicas que criam itens conforme necessário, usando a palavra yield. Em vez de guardar tudo na memória, eles vão entregando os valores um de cada vez, economizando espaço e recursos.

    O que são Iteradores em Python

    Iteradores são objetos que te permitem passar por uma coleção de dados, um elemento de cada vez. Qualquer coisa que tenha os métodos __iter__() e __next__() é um iterador. Em Python, usamos iteradores o tempo todo, especialmente em loops for.

    Exemplos de Geradores em Python

    python
    Copiar código
    def contador(max):
      n = 0
      while n < max:
          yield n
          n += 1
    
    for num in contador(5):
      print(num)
    

    Esse gerador contador solta números de 0 a 4. Cada vez que ele encontra yield, ele pausa e depois continua da onde parou.

    Exemplos de Iteradores em Python

    python
    Copiar código
    class Contador:
      def __init__(self, max):
          self.max = max
          self.n = 0
    
      def __iter__(self):
          return self
    
      def __next__(self):
          if self.n < self.max:
              atual = self.n
              self.n += 1
              return atual
          else:
              raise StopIteration
    
    contador = Contador(5)
    for num in contador:
      print(num)
    

    ^ Aqui, a classe Contador cria um iterador que dá números de 0 a 4, usando os métodos __iter__ e __next__.

    Como usar 'yield' em Python

    A palavra yield é usada em funções geradoras para produzir uma série de valores ao longo do tempo. Toda vez que yield é chamada, a função pausa, mantém seu estado atual e retorna o valor.

    python
    Copiar código
    def fibonacci(limite):
      a, b = 0, 1
      while a < limite:
          yield a
          a, b = b, a + b
    
    for num in fibonacci(10):
      print(num)
    

    Este exemplo de gerador solta a sequência de Fibonacci até um limite definido.

    Por que entender esses tópicos pode deixar seu código mais 'elegante'

    Saber sobre geradores e iteradores deixa seu código mais eficiente e fácil de entender. Geradores economizam memória, criando itens quando necessário. Iteradores permitem que você crie loops personalizados e maneje grandes volumes de dados de forma eficiente.

    Agora que você sabe tudo sobre geradores e iteradores, seu código vai ficar top!

    Continue aprendendo e arrasando no Python!

    Fonte 

    Ilustração de capa: Lexica.art e Canva

    Conteúdo gerado por: ChatGPT

    Revisão: Savannah Farias

    #Python #Programação #DesenvolvimentoDeSoftware #Geradores #Iteradores

    Compartilhe
    Comentários (0)