Курс 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. Функция enumerate() в Python
  4. Распаковка элементов массива
  5. Поиск подстроки в строке
  6. Замер времени выполнения кода
  7. Работа с deque из collections
  8. Статическая типизация в Python
  9. Оператор continue в Python
  10. Создание списков в Python
  11. Декораторы в Python
  12. Функция pow() — возвести число в степень
  13. Роль object и type в Python
  14. Подсчет вхождений элементов
  15. Работа с collections.Counter
  16. Курсы Яндекс Практикум
  17. Применение промокода в Много лосося
  18. Экспорт данных в файл.
  19. Проверка индексов коллекции
  20. Декоратор защиты анонимных пользователей
  21. Применение функций в Python
  22. Генераторы в Python
  23. Удаление дубликатов в pandas
  24. Запуск файлового сервера
  25. Преобразование Excel в PDF с Spire.XLS
  26. Частичное применение функций в Python
  27. Асинхронное программирование с asyncio
  28. Глубокое копирование объектов
  29. Поиск индекса элемента
  30. Анонимные функции в Python
  31. Тестирование модели в PyTorch
  32. Описание скриптов в README
  33. Игра «Камень, ножницы, бумага» — Python
  34. Генератор списка с условием if
  35. Анонимные функции Lambda
  36. Итераторы в Python
  37. Мощь вложенных функций в Python
  38. Обновление множества в Python
  39. Измерение времени выполнения кода
  40. Отладка в Python
  41. Ускорение выполнения кода в Python
  42. Деление в Python
  43. Удаление символов новой строки в Python.
  44. Декоратор @override
  45. Поиск частого элемента

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