Курс Python → Генераторы в Python

Генераторы в Python — это специальный тип функций, которые вместо ключевого слова return используют ключевое слово yield. Когда функция с ключевым словом yield вызывается, она возвращает объект-генератор, который можно использовать для итерации по последовательности значений, возвращаемых функцией.

Первый способ создания генератора — это использование генераторных выражений. Генераторное выражение похоже на списковое включение, но вместо квадратных скобок используются круглые скобки. Например, можно создать генератор, который будет возвращать квадраты чисел от 1 до 10 следующим образом:


gen = (x**2 for x in range(1, 11))
for num in gen:
    print(num)

Второй способ создания генератора — это создание функции, которая содержит ключевое слово yield. Например, можно создать генератор, который будет возвращать числа Фибоначчи:


def fibonacci():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

fib_gen = fibonacci()
for num in fib_gen:
    if num > 1000:
        break
    print(num)

Генераторы в Python могут быть очень полезны для работы с большими объемами данных, так как они позволяют эффективно обрабатывать элементы последовательностей без необходимости хранить все значения в памяти. Использование генераторов помогает сэкономить память и ускорить выполнение программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Измерение времени выполнения кода в Python
  2. Принципы программирования
  3. Измерение времени выполнения кода
  4. Работа с изображениями Pillow
  5. Оформление текста в консоли с TermColor
  6. Расчет времени выполнения
  7. Преобразование объекта в строку
  8. Преобразование строки в число
  9. Псевдонимы в Python
  10. Копирование и вставка текста в Python
  11. Нахождение максимального значения и его индекса в списке
  12. Установка и обучение ChatterBot
  13. Магические методы в Python
  14. Курс по дообучению ChatGPT
  15. Python: динамическая типизация и проверка типов
  16. Получение идентификатора объекта в памяти
  17. Функция count() в Python
  18. Взаимодействие с внешними процессами в Python
  19. Оператор += для объединения строк
  20. Вычисление натуральных логарифмов в NumPy
  21. Вложенные циклы в Python
  22. Извлечение чисел из текста
  23. Декоратор total_ordering для сравнения объектов
  24. Функция zip() в Python
  25. Операции с числами в Python
  26. 9 уловок для чистого кода
  27. Установка библиотек в Python
  28. Итераторы с потерямиZIP
  29. Разделение строки на пары ключ-значение.
  30. Многострочные комментарии в Python
  31. Разработка игры Pong с turtle
  32. Равенство и идентичность в Python
  33. Работа с многоуровневыми словарями в Python
  34. Обработка элементов в Python
  35. Упрощение работы с JSON-данными в Python
  36. Экспорт внешнего файла с помощью writefile
  37. Разработка Telegram-ботов
  38. Капитализация строк
  39. Сравнение неупорядоченных списков
  40. Проверка типа объекта в Python
  41. Инициализация переменных
  42. Функция findall() для поиска вхождений строки
  43. Фильтрация входных данных в Python
  44. Проверка элементов списка условием
  45. Переменная Шредингера
  46. Работа с изображениями PIL
  47. Преобразование строк в числа с плавающей запятой

Marketello читают маркетологи из крутых компаний