2.0 KiB
title | localeTitle |
---|---|
Python Iterators | Iteradores Python |
O Python suporta um conceito de iteração sobre contêineres. Isso é implementado usando dois métodos distintos; eles são usados para permitir que classes definidas pelo usuário suportem a iteração.
Documentos do Python - Tipos de Iteradores
Iteração é o processo de repetir programaticamente uma etapa um determinado número de vezes. Um programador pode fazer uso da iteração para executar a mesma operação em cada item de uma coleção de dados, por exemplo, imprimindo todos os itens de uma lista.
-
Objetos podem implementar um
__iter__()
que retorna um objeto iterador para suportar a iteração. -
Objetos iteradores devem implementar:
-
__iter__()
: retorna o objeto iterador. -
__next__()
: retorna o próximo objeto do container.
objeto iterador = 'abc'. iter () print ( objeto iterador ) print (id ( objeto iterador )) print (id ( objeto iterador . iter ())) # Retorna o próprio iterador. print ( objeto iterador . next ()) # Retorna o primeiro objeto e avança o iterador. print ( objeto iterador . next ()) # Retorna o segundo objeto e avança o iterador. print ( objeto iterador . next ()) # Retorna o terceiro objeto e avança o iterador. print ( objeto iterador . next ()) # Aumenta a exceção StopIteration.
-
Saída:
<str_iterator object at 0x102e196a0>
4343305888
4343305888
a
b
c
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-1-d466eea8c1b0> in <module>()
6 print(iterator_object.__next__()) # Returns 2nd object and advances iterator.
7 print(iterator_object.__next__()) # Returns 3rd object and advances iterator.
----> 8 print(iterator_object.__next__()) # Raises StopIteration Exception.
StopIteration: