Python iter () -funktionen returnerer en iterator for det givne objekt.
Den iter()funktion skaber et objekt, som kan gentages ét element ad gangen.
Disse objekter er nyttige, når de kombineres med sløjfer som for loop, mens loop.
Funktionens syntaks iter()er:
iter (objekt, sentinel)
iter () Parametre
Den iter()funktion tager to parametre:
- objekt - objekt hvis iterator skal oprettes (kan være sæt, tupler osv.)
 - sentinel (valgfri) - speciel værdi, der bruges til at repræsentere slutningen af en sekvens
 
Returneringsværdi fra iter ()
- Den 
iter()funktion giver en iterator objekt for den givne objekt. - Hvis det brugerdefinerede objekt ikke implementerer 
__iter__(), og__next__()eller__getitem()__,TypeErrorundtagelsen hæves. - Hvis sentinel-parameteren også er angivet, 
iter()returneres en iterator, indtil sentinel-tegnet ikke findes. 
Eksempel 1: Arbejde med 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'
Produktion
aeiou
Eksempel 2: iter () til brugerdefinerede objekter
 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 # raises StopIteration print(next(print_num_iter))
Produktion
1 2 3 Traceback (seneste opkald sidst): File "", line 23, in File "", line 11, in __next__ StopIteration
Eksempel 3: iter () med parameter for sentinel
 class DoubleIt: def __init__(self): self.start = 1 def __iter__(self): return self def __next__(self): self.start *= 2 return self.start __call__ = __next__ my_iter = iter(DoubleIt(), 16) for x in my_iter: print(x) 
Produktion
2 4 8
Her har vi implementeret et brugerdefineret iterabelt objekt uden en StopIterationbetingelse.
Vi kan dog bruge iter()metoden med sentinelparameteren til at stoppe iterationen. Hvis værdien, der returneres fra, __next__()er lig med sentinel, StopIterationhæves, ellers returneres værdien.
Anbefalet læsning: Python Iteratorer








