Курс 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"
- Удаление элемента из списка
- Блок try-except-else
- Непрерывная проверка в Python
- Проектирование Singleton с метаклассом
- Профилирование данных с Pandas.
- Генераторы в Python
- Модуль pprint
- Именованные срезы в Python
- Передача параметров в Python
- Метод __float__ в Python
- Форматирование вывода с F-строками
- Быстрый поиск кода
- Логические операторы в Python
- Работа с NumPy
- F-строки в Python 3.8
- Генерация случайных чисел в Python
- Обязательные аргументы в Python
- Использование defaultdict в Python
- Работа с эмодзи в Python
- Работа с функцией next() в Python
- Метод ior для битовых операций
- Перевернуть список в Python
- Генерация случайных чисел в Python
- Локальные переменные.
- Применение команды break
- Экспорт функций в Python
- Конкатенация строк с помощью join()
- Создание уникального множества
- Работа с Path в Python
- Поиск шаблона в строке
- Улучшение читаемости кода в Python
- Операторы += в Python
- %pinfo: получение информации об объекте
- Кортежи в Python: особенности и преимущества
- Декодирование строк в Python
- Добавление элементов в список
- Оператор «is not» в Python
- Извлечение новостей с помощью newspaper3k
- Работа с байтовыми строками в Python
- Парсинг статей с Newspaper3k
- Функции в Python: создание и вызов
- Создание графиков в терминале
- Счетчик в Python: most_common()
- Разработка Telegram-ботов
- Лямбда-функции в цикле
- Проверка версии Python















