Курс 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
- Применение функций в Python
- Обработка исключений в Python 3
- Определение индекса элемента списка
- Перевод текста с Python Translator
- Удаление элементов по срезу
- Декораторы с аргументами в Python
- Codecademy в Telegram
- Python Ellipsis использование
- Получение частей дроби
- f-строки в формате строк
- Переопределение метода xor в Python
- Оформление кода по PEP 8
- Эффективная конкатенация строк с использованием join()
- Отладка кода
- Отправка поздравлений по дню рождения
- Установка и обучение ChatterBot
- Удаление ресурса в Python
- Преобразование списков в словарь
- Работа с изменяемыми коллекциями
- UserString в Python
- Измерение времени выполнения с помощью time
- Очистка входных данных
- Сортировка HTML-элементов
- Функция enumerate в Python
- Определение размера папок в Python
- Проверка запуска скрипта или импорта модуля
- Порядок и длина множеств в Python
- Работа с индексами списков
- Сортировка HTML по CSS-селектору
- Подчеркивание в REPL
- Профилирование с cProfile
- Преобразование range в итератор
- Подсчет элементов в Python
- Возврат нескольких значений
- Работа с NumPy массивами
- Функции с дополнением
- Функция reduce() в Python
- Итераторы в Python
- Подписка на @SelectelNews
- Вывод переменной и строки в Python
- Итерация по итерируемым объектам
- Функции в одну строку
- Тестирование функции сложения
- Преобразование вложенного списка
- Обход словаря в Python















