Функція Python iter () повертає ітератор для даного об'єкта.
iter()Функція створює об'єкт , який може повторюватися один елемент за один раз.
Ці об'єкти корисні в поєднанні з циклами, як цикл for, цикл while.
Синтаксис iter()функції:
iter (об'єкт, сторожовий)
Параметри iter ()
iter()Функція приймає два параметри:
- об'єкт - об'єкт, ітератор якого повинен бути створений (це можуть бути набори, кортежі тощо)
 - сторожовий (необов’язково) - спеціальне значення, яке використовується для представлення кінця послідовності
 
Повернене значення з iter ()
iter()Функція повертає об'єкт ітератора для даного об'єкта.- Якщо певний користувачем об'єкт не реалізує 
__iter__(), і ,__next__()або__getitem()__, тоTypeErrorзбуджується виключення. - Якщо параметр дозорного також наданий, 
iter()повертає ітератор, поки дозорний символ не знайдений. 
Приклад 1: Робота 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'
Вихідні дані
aeiou
Приклад 2: iter () для користувацьких об'єктів
 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))
Вихідні дані
1 2 3 Traceback (останній дзвінок останній): Файл "", рядок 23, у файлі "", рядок 11, у __next__ StopIteration
Приклад 3: iter () з дозорним параметром
 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) 
Вихідні дані
2 4 8
Тут ми реалізували спеціальний ітерабельний об’єкт без StopIterationумови.
Однак ми можемо використовувати iter()метод із sentinelпараметром, щоб зупинити ітерацію. Якщо значення, з __next__()якого повертається , дорівнює sentinel, StopIterationбуде піднято, інакше значення буде повернуто.
Рекомендуємо прочитати: Ітератори Python








