DEV Community

Cover image for Estudos em Python - Objeto iterável
Douglas "Amarelo" Lopes
Douglas "Amarelo" Lopes

Posted on

Estudos em Python - Objeto iterável

1. Objeto Iterável (Iterable)

Um objeto iterável é qualquer objeto que pode ser percorrido em um loop for ou utilizado com a função iter(). Em Python, para ser considerado iterável, um objeto deve implementar o método especial __iter__() ou o método __getitem__().

Exemplos comuns de objetos iteráveis incluem listas, tuplas, dicionários, strings e até arquivos.

Exemplo de objeto iterável:

# A lista é um objeto iterável
lista = [1, 2, 3]
for item in lista:
    print(item)
Enter fullscreen mode Exit fullscreen mode

2. Lista (List)

Uma lista é um tipo de dado composto que pode armazenar uma coleção ordenada de itens. Ela é mutável, ou seja, pode ser alterada após sua criação. Pode armazenar elementos de diferentes tipos, como números, strings ou até outras listas.

Exemplo de lista:

# Uma lista com diferentes tipos de elementos
lista = [1, "Python", 3.14, [1, 2]]
Enter fullscreen mode Exit fullscreen mode

3. Objeto (Object)

Em Python, "objeto" é um termo genérico que se refere a qualquer instância de uma classe. Tudo em Python é um objeto, e um objeto possui atributos e métodos definidos pela classe à qual pertence.

Por exemplo, se você criar uma classe Pessoa, ao criar uma instância dessa classe (um objeto), ele terá atributos como nome e idade e poderá ter métodos como falar() ou andar().

Exemplo de objeto:

# Definindo uma classe e criando um objeto
class Pessoa:
    def __init__(self, nome):
        self.nome = nome

    def saudacao(self):
        print(f"Olá, meu nome é {self.nome}.")

# Criando um objeto
pessoa = Pessoa("João")
pessoa.saudacao()
Enter fullscreen mode Exit fullscreen mode

4. Collection

Em Python, o termo "Collection" (coleção) é uma forma genérica de se referir a tipos de dados que armazenam múltiplos itens. Isso inclui listas, tuplas, conjuntos (sets), dicionários, entre outros.

As coleções são usadas para armazenar grupos de elementos e podem ser iteráveis, mutáveis ou imutáveis, dependendo do tipo. O módulo collections em Python também oferece tipos de dados especializados como deque e Counter.

Exemplo de coleção (lista):

# Exemplo de coleção (lista)
colecao = [1, 2, 3, 4]
Enter fullscreen mode Exit fullscreen mode

5. Iterator

Um iterador é um objeto que permite percorrer um objeto iterável, mas ao contrário do iterável, ele mantém o estado de onde está no percurso. Ou seja, um iterador sabe onde ele está no processo de iteração e pode continuar de onde parou.

Um iterador implementa os métodos iter() (que retorna o próprio iterador) e next() (que retorna o próximo item da coleção ou levanta uma exceção StopIteration quando não há mais itens).

Exemplo de iterador:

# Criando um iterador de uma lista
lista = [1, 2, 3]
iterador = iter(lista)

# Usando o iterador para acessar elementos
print(next(iterador))  # 1
print(next(iterador))  # 2
print(next(iterador))  # 3
Enter fullscreen mode Exit fullscreen mode

Quando não há mais elementos, o next(iterador) levanta uma exceção StopIteration.

Resumo rápido:

  • Iterável: Qualquer objeto que pode ser percorrido em um loop (como listas ou tuplas).
  • Lista: Um tipo de coleção que armazena elementos ordenados e mutáveis.
  • Objeto: Qualquer instância de uma classe em Python, com atributos e métodos.
  • Coleção: Estruturas que armazenam múltiplos itens (listas, tuplas, sets, dicionários).
  • Iterador: Um objeto que percorre elementos de um iterável e mantém o estado da iteração.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay