Курс 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"
- Переопределение унарных операторов
- Работа с комплексными числами
- Работа с NumPy массивами
- Очистка данных с помощью pandas
- Пустой оператор pass в Python
- Анализ текста на русском языке с помощью Pymystem3
- Работа с YAML в Python
- Сравнение def и lambda функций в Python
- Выборка чисел
- Разбиение строки в Python
- Объединение списков в Python
- Равенство и идентичность в Python
- Передача аргументов через **arguments
- Операторы объединения в Python 3.9
- Mad Libs Generator
- Оператор «not» в Python
- Передача аргументов в Python
- Многострочные строки в Python
- Управление ресурсами в Python
- Метод __iand__ для пользовательских классов
- Основы работы с os
- Отладка кода
- Функция reduce() в Python
- Использование модуля __future__
- Анализ кода — Python
- Удаление дубликатов в pandas
- Функции в Python: создание и вызов
- Работа с SQLite в Python
- Работа с PosixPath() в Python
- Исключение NotImplementedError
- Объединение множеств в Python
- Множества и frozenset
- Выключение компьютера с помощью Python
- Вставка переменных в шаблоны Flask
- Избегайте пустого списка
- Python: отличительная особенность — отступы
- Создание и использование модулей в Python
- Цепные операции в Python
- Сортировка с параметром key
- Функция enumerate в Python
- Оболочка Python
- Скрытие вывода данных
- Генерация QR-кодов с Python
- Основы Python за 14 дней
- Хэш-функции в Python
- Замена подстроки
- Команда %dhist — список посещенных каталогов
- Enum в Python















