English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 for,whileloop etcloopesses objetos são úteis quando acoplados.
a sintaxe da função iter() é:
iter(object, sentinel)
a função iter() tem dois parâmetros:
objeto-é necessário criar um objeto iterador (pode serconjunto,tuplasetc)
sentinel (opcional) -valor especial usado para representar o fim da sequência
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.
# 元音列表 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
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
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