Генераторы и итераторы в Python: как экономить память и писать эффективный код
Привет! Сегодня разберем генераторы и итераторы — мощные инструменты, которые помогают писать эффективный код, экономя память. Если ты работаешь с большими объемами данных, эта тема станет твоим секретным оружием! 1. Итераторы в Python: что это такое? Итератор — это объект, по которому можно перебирать (итерировать) данные. Примеры итерабельных объектов: - list, tuple, set, dict, str - файлы - объекты, реализующие __iter__() и __next__() Простейший пример итерации — цикл for: Но что происходит...
Генераторы и итераторы в 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...