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

Corso di base di Python

Controllo dei flussi di Python

Funzione in Python

Tipi di dati in Python

Operazioni di file di Python

Oggetti e classi di Python

Data e ora di Python

Conoscenze avanzate di Python

Manuale di Python

Utilizzo e esempio di Python iter()

Funzioni native di Python

La funzione iter() di Python restituisce un iteratore per l'oggetto fornito.

La funzione iter() di Python crea un oggetto che può iterare un elemento alla volta.

Quando combinato conciclo for,whilee cicli similicicloQuesti oggetti sono molto utili quando sono vincolati.

La sintassi della funzione iter() è:

iter(object, sentinel)

Parametri di iter()

La funzione iter() ha due parametri:

  • oggetto-Oggetto che deve creare un iteratore (può essereinsieme,tuplee simili)

  • sentinel (opzionale) -Valore speciale utilizzato per rappresentare la fine della sequenza

Valore di ritorno di iter()

  • La funzione iter() restituisce un oggetto iteratore per l'oggetto fornito.

  • Se l'oggetto definito dall'utente non implementa __iter__(), __next__() o __getitem__(), viene sollevata un'eccezione TypeError.

  • Se viene fornito anche il parametro sentinel, iter() restituirà un iteratore fino a quando non viene trovato il carattere di marca.

Esempio 1: Funzionamento di iter() in Python

# lista delle vocali
lista di vocali
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'

Risultato di output

a
e
i
o
u

Esempio 2: iter() di oggetti personalizzati

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
# Lancia StopIteration
print(next(print_num_iter))

Risultato di output

1
2
3
StopIteration

Esempio 3: iter() con parametro sentinel

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

Quando si esegue il programma, viene aperto in modalità di letturamydata.txtFile.

Poi, la chiamata iter(fp.readline, '') nel ciclo for legge ogni riga del file di testo fino a raggiungere il carattere di marcatura '' (stringa vuota).

Leggi di più:Iteratore Python, funzioni native di Python