3 недели назад
Чем отличается генератор от итератора в python
Генераторы и итераторы — это два ключевых концепта в Python, связанные с итерацией по последовательностям данных, но они отличаются способами создания, использования и хранения состояния. Итератор (Iterator): Что это: Итератор — это объект, который реализует протокол итерации. Этот протокол требует наличия двух методов: __iter__(): Возвращает сам объект итератора. Используется для инициализации итерации. __next__(): Возвращает следующий элемент в последовательности. Если больше элементов нет, выбрасывает исключение StopIteration. Создание: Итераторы обычно создаются из итерируемых объектов (например, списков, кортежей, строк) с помощью функции iter()...
Генераторы и итераторы в 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...