Функція iter() в Python

 1445

Функція iter() повертає ітератор для вказаного аргументу. Наприклад:

Результат:

apple
samsung
oneplus

Синтаксис функції iter()

Параметри функції iter()

Функція iter() приймає два параметри:

   object — може бути списком, множиною, кортежем тощо;

   sentinel (не обов’язково) — спеціальне значення, яке використовується для позначення кінця послідовності.

Значення, яке повертає функція iter()

Функція iter() повертає:

   об’єкт ітератора для вказаного аргументу, доки не буде знайдено завершальний символ;

   помилку TypeError для об’єкта користувача, який не має реалізації методу __iter__(), __next__() або __getitem__().

Приклад №1: Функція iter() в Python

Результат:

a
e
i
o
u

Тут ми використали функцію iter() зі списком голосних. Функція повертає окремі елементи a, e, i, o, u зі списку в якості об’єктів ітератора.

Приклад №2: Функція iter() з об’єктами користувача

Результат:

1
2
3
Traceback (most recent call last):
File "", line 24, in module
File "", line 12, in __next__
StopIteration

Тут ми вивели числа ітератора 1, 2, 3 за допомогою методів __iter__() та __next__(). Метод __next__() має цикл, який виконується до тих пір, поки self.num не стане більше чи рівне self.max.

Оскільки ми вказали 3 як параметр об’єкта PrintNumber(), self.max ініціалізується значенням 3. Отже, цикл зупиняється на 3. Коли self.num досягає значення self.max, яке дорівнює 3, функція next() генерує виняток StopIteration.

Приклад №3: Функція iter() із параметром sentinel

Результат:

2
4
8

Тут ми не реалізували умову StopIteration. Натомість ми використали функцію iter() з параметром sentinel для завершення ітерації:

Значення параметра sentinel дорівнює 16, тому програма зупиниться, коли значення методу __next__() дорівнюватиме цьому числу. На даному етапі програма автоматично згенерує виняток StopIteration.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (2 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *