Курс 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"
- Отслеживание прогресса с tqdm
- ROT13 Шифр Цезаря в Python
- Принципы LSP и ISP в Python
- Удаление файлов и папок в Python
- Оформление текста в консоли с TermColor
- Оператор «or» в Python
- Генерация UUID в Python
- Сортировка в Python
- Просмотр файла в Jupyter Noteboo
- Создание виртуальной среды
- Структура данных deque в Python
- Solidity для DeFi Ethereum
- Создание OrderedDict
- Автоматизация скриптов на AWS Lightsail.
- Очистка данных с Pandas
- Просмотр внешнего файла в Python
- Экранирование символов в Python
- Виртуальные среды в Python
- Очистка входных данных
- Python Translator: создание локальных переводчиков
- Оптимизация памяти с slots
- Проверка списка: any() и all()
- Безопасные SQL-запросы в Python 3.11
- Обновление ключей в Python
- f-строки в формате строк
- Функция enumerate в Python
- Метод enumerate() в Python
- Замена символов в Python
- Транспонирование 2D-массива с помощью zip
- Создание задания в Cron
- Генераторы в Python
- Подсчет элементов в Python
- Функция enumerate() — Python
- Работа с модулем os в Python
- Копирование объектов в Python
- Возврат нескольких значений из функции
- Создание генераторов в Python
- Перевод эмодзи и эмотиконов.
- Динамические маршруты во Flask
- Класс Counter() для подсчета элементов
- Установка и использование howdoi
- Обработка ошибки IndexError
- Комментарии в Python
- Склеивание строк без циклов
- Работа с итераторами в Python
- Метод join() для объединения элементов строки















