English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do Python

Controle de Fluxo do Python

Funções do Python

Tipos de Dados do Python

Operações de Arquivos do Python

Objetos e Classes do Python

Data e Hora do Python

Conhecimento Avançado do Python

Manual de Referência do Python

uso e exemplo da função iter() do Python

Funções integradas do Python

a função iter() do Python retorna um iterador do objeto dado.

a função iter() cria um objeto que pode iterar um elemento de cada vez.

ao usarloop forwhileloop etcloopesses objetos são úteis quando acoplados.

a sintaxe da função iter() é:

iter(object, sentinel)

parâmetros da função iter()

a função iter() tem dois parâmetros:

  • objeto-é necessário criar um objeto iterador (pode serconjuntotuplasetc)

  • sentinel (opcional) -valor especial usado para representar o fim da sequência

retorno da função iter()

  • a função iter() retorna um objeto iterador do objeto dado.

  • se o objeto definido pelo usuário não implementar __iter__(), __next__() ou __getitem__(), será lançada uma exceção TypeError.

  • se ainda for fornecido o parâmetro sentinel, iter() retornará um iterador até que não seja encontrado o caractere marcador.

Exemplo1:Python iter()的工作

# 元音列表
list of vowels
vowels = ['a', 'e', 'i', 'o', 'u']
vowels_iter = iter(vowels)
print(next(vowels_iter))  # 'a'
print(next(vowels_iter))  # 'e'
print(next(vowels_iter))    # 'i'
print(next(vowels_iter))    # 'o'
print(next(vowels_iter))    # 'u'

Resultados de saída

a
e
i
o
u

Exemplo2Iterador de objeto personalizado

class PrintNumber:
    def __init__(self, max):
        self.max = max
    def __iter__(self):
        self.num = 0
        return self
    def __next__(self):
        if(self.num >= self.max):
            raise StopIteration
        self.num += 1
        return self.num
print_num = PrintNumber(3)
print_num_iter = iter(print_num)
print(next(print_num_iter))  # 1
print(next(print_num_iter))  # 2
print(next(print_num_iter))  # 3
# Gera StopIteration
print(next(print_num_iter))

Resultados de saída

1
2
3
StopIteration

Exemplo3Iterador com parâmetro sentinel

com open('mydata.txt') como fp:
    for line in iter(fp.readline, ''):
        processLine(line)

Quando o programa é executado, ele abre em modo de leituramydata.txtArquivo.

Então, a chamada iter(fp.readline, '') no loop for lê cada linha do arquivo de texto até alcançar o caractere de marcação '' (string vazia).

Leitura recomendada:Iterador Python, Funções integradas do Python