Курс Python → Создание итерируемых объектов
Для создания собственных итерируемых объектов в Python, можно использовать классы и специальные методы, такие как метод iter. Например, в данном примере у нас есть класс Squares, который реализует метод iter(self), возвращающий итератор. Итератор — это объект, который поддерживает метод next() и используется для итерации по последовательности значений.
При использовании цикла for для объекта squares, интерпретатор Python вызывает метод iter для получения итератора, а затем последовательно вызывает метод next до возникновения исключения StopIteration. Метод iter возвращает сам объект, так как он также является итератором.
Это удобно, когда мы создаем объекты, которые могут быть использованы в циклах for или других контекстах, требующих итерации. Таким образом, мы можем использовать наши собственные итерируемые объекты в стандартных итерационных конструкциях и управлять процессом итерации с помощью методов iter и next.
class Squares:
def __init__(self, n):
self.n = n
self.i = 0
def __iter__(self):
return self
def __next__(self):
if self.i < self.n:
result = self.i ** 2
self.i += 1
return result
else:
raise StopIteration
В приведенном выше примере кода класс Squares реализует методы __iter__ и __next__ для создания итератора, который возвращает квадраты чисел от 0 до n. Теперь мы можем создать объект этого класса и использовать его в цикле for для итерации по значениям квадратов чисел.
Другие уроки курса "Python"
- Преобразование данных в Python
- Введение в PyTorch
- Defaultdict в Python
- Параллельные вычисления в Python
- Метод enumerate() в Python
- Работа с каталогами в Python
- Упрощенный вывод данных в Python
- Работа с комплексными числами
- Docstring в Python
- Конвертация изображений в PDF
- Повторение элементов в Python
- Работа с YAML в Python: PyYAML.
- Перегрузка операторов в Python
- Установка random seed в Python
- Бесконечная проверка в Python
- Работа с zip()
- Управление сессиями в Python
- Настройка шрифта и цвета в Tkinter
- Передача неизвестных аргументов в Python.
- Дефолтные параметры в Python
- Тернарный оператор в Python
- Нахождение пересечения множеств
- Установка и использование howdoi
- Создание уникального множества
- Получение локальных переменных в Python
- Создание Telegram-бота на Python
- Округление в Python
- Преобразование символов с помощью map
- Python: библиотеки и функции
- UserString в Python
- Создание словаря с значением по умолчанию
- split() — разделение строки
- Взаимодействие с sys
- Оптимизация строк в Python
- Работа со списками
- Работа с множествами в Python
- Уникальность ключей в словаре
- Работа с утверждениями в Python
- Метод getitem для доступа к элементам последовательности
- Область видимости переменных
- Метод __float__ в Python
- Группы исключений в Python
- Оператор zip в Python
- Блок else в циклах Python
- Работа с часовыми поясами в Python.
- Подсказки при вводе данных в Python
- Хранение данных с помощью dataclasses















