182 читали · 2 года назад
Итераторы и генераторы в Python
Итератор Итератор - это объект, который поддерживает протокол итератора, то есть имеет методы iter() и next(). Метод iter() возвращает сам итератор, а метод next() возвращает следующее значение из последовательности или вызывает исключение StopIteration, если значения закончились. Итератор можно использовать в цикле for или с функцией next(). Примеры контейнеров, которые поддерживают протокол итератора: списки (list), строки (str), словари (dict), множества (set), файлы (file) и другие. Пример класса,...
Генераторы и итераторы в Python: как писать эффективный код
Привет! Сегодня поговорим о *генераторах и итераторах* — мощном инструменте Python, который позволяет работать с **огромными данными** без лишней памяти.  ---  1. Итераторы: что это и зачем нужны? *Итератор* — это объект, который можно *перебрать в цикле* (`for`), но он не загружает все элементы в память сразу.  Любой объект с методами `__iter__()` и `__next__()` является **итератором**.  Пример: создадим итератор вручную  class Counter:   def __init__(self, start, end):     self.current = start     self.end = end   def __iter__(self):     return self # Итератор должен вернуть сам себя   def __next__(self):     if self...