Python Разработка | Web Backend, Парсинг & Telegram Bots. Пайтон программирование с нуля. Django, FastAPI и SQL. Уроки для начинающих и IT карьера. Coding.

@BookPython
Оптимизация кода с помощью генераторов в Python Сегодня хочу показать вам, как использование генераторов может сделать ваш код быстрее, экономнее по памяти и элегантнее. Что такое генераторы? Генераторы — это функции, которые используют yield вместо return. Они не возвращают сразу все значения, а запоминают своё состояние и отдают результат по мере необходимости. Это особенно полезно при обработке больших объемов данных, так как позволяет не загружать всю информацию в память сразу. Пример: экономия памяти Допустим, нам нужно обработать миллион чисел и взять из них только четные. Обычный способ: def get_even_numbers(n): result = [] for i in range(n): if i % 2 == 0: result.append(i) return result numbers = get_even_numbers(10**6) print(len(numbers)) # 500000 Такой код загружает в память весь список, что может быть проблемой при больших данных. А теперь переделаем на генератор: def get_even_numbers_gen(n): for i in range(n): if i % 2 == 0: yield i numbers = get_even_numbers_gen(10**6) print(sum(1 for _ in numbers)) # 500000 Здесь список не создается, а элементы выдаются по одному. Это экономит память и ускоряет обработку! Где применять? ✔️ Чтение больших файлов построчно (yield line) ✔️ Работа с потоками данных ✔️ Генерация последовательностей без создания списков 👉 @BookPython
Если у вас установлено приложение,
вы можете сразу перейти в канал