Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вступ до генераторних функцій та yield | Опанування ітераторів та декораторів у Python
Концепції функціонального програмування в Python

bookВступ до генераторних функцій та yield

Свайпніть щоб показати меню

Генераторні функції — це особливий тип функцій у Python, які дозволяють створювати ітератори простим і зрозумілим способом. На відміну від звичайних функцій, які повертають одне значення і завершують виконання, генераторні функції можуть призупиняти виконання та відновлювати його пізніше, повертаючи послідовність значень по одному.

Note
Визначення

yield — це ключове слово Python, яке використовується всередині генераторних функцій для повернення значення та призупинення стану функції. Коли генератор відновлює виконання, він продовжує з того місця, де був зупинений.

Це дозволяє перебирати послідовності по одному значенню без створення проміжних списків, що робить код більш ефективним щодо використання пам’яті.

Як працюють генераторні функції?

Генераторна функція виглядає як звичайна функція, але використовує ключове слово yield замість return. Коли Python зустрічає оператор yield, він призупиняє виконання функції та повертає отримане значення виклику. Наступного разу, коли ви запитуєте значення, функція відновлює виконання з того місця, де була зупинена.

Як працює генераторна функція

  1. Оголосіть функцію за допомогою def і додайте хоча б один оператор yield;
  2. Коли ви викликаєте функцію, код всередині не виконується одразу. Натомість повертається об’єкт-генератор;
  3. Кожного разу, коли ви запитуєте наступне значення (за допомогою next() або циклу for), функція виконується до зустрічі з yield;
  4. Оператор yield повертає значення виклику та призупиняє стан функції;
  5. Коли запитується наступне значення, функція відновлює виконання після останнього yield;
  6. Функція продовжує виконання, поки не закінчаться значення або не буде досягнуто return чи кінця коду.

Переваги використання генераторних функцій:

  • Економія пам’яті завдяки створенню елементів по одному замість формування великих списків;
  • Зрозумілий і підтримуваний код для потоків даних або послідовностей;
  • Легке опрацювання нескінченних або дуже великих наборів даних без завантаження всього в пам’ять.

Генераторні функції — це потужний інструмент для ефективної обробки даних і важливий елемент для оволодіння функціональним стилем програмування в Python. Далі ви побачите, як саме писати та використовувати генераторні функції на практичних прикладах коду.

question mark

Що робить ключове слово yield у генераторній функції Python?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 6
some-alt