Довідники Python Generators (Генератори)

Що таке Generators (Генератори) в Python?

У Python генератори є потужним і ефективним інструментом для створення об'єктів, що ітеруються. Вони дозволяють генерувати значення "на льоту" замість зберігання їх у пам'яті, що робить генератори особливо корисними при роботі з великими обсягами даних.


Основні характеристики генераторів:

  • Лінива генерація: Генератори створюють значення тільки в момент запиту, що дозволяє заощаджувати ресурси пам'яті.
  • Використання ключового слова yield: Генератори використовують оператор yield для повернення значення та тимчасового призупинення виконання функції.
  • Ітерованість: Генератори можуть бути використані в циклах for і функціях, що очікують об'єкти, що ітеруються.


Приклад використання:

def square_numbers(n):
    for i in range(n):
        yield i ** 2

# Створення генератора
my_generator = square_numbers(5)

# Ітерування по генератору
for number in my_generator:
    print(number)
# Результат: 0 1 4 9 16

У цьому прикладі створюється генератор square_numbers, який повертає квадрати чисел від 0 до n-1. При використанні генератора в циклі for, значення генеруються при необхідності, що заощаджує пам'ять і забезпечує ліниву генерацію.

Генератори часто застосовуються в ситуаціях, де необхідно обробляти великі обсяги даних поетапно, без завантаження їх повністю на згадку. Вони також покращують продуктивність та забезпечують ефективне використання ресурсів.

Коментарі
Додати коментар

Поки що коментарів немає