image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

SF

Savannah Farias29/07/2024 11:37
Compartilhe
WEX - End to End EngineeringRecomendados para vocêWEX - End to End Engineering

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

  • #Python
  • #ChatGPT

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
Recomendados para você
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comentários (0)
Recomendados para vocêWEX - End to End Engineering