Курс 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. Изменяемые и неизменяемые объекты
  2. Метод count() для списков
  3. Pretty-printing JSON в Python
  4. Метод __float__ в Python
  5. Доступ к локальным переменным
  6. Операции с комплексными числами
  7. Возврат значений из генератора
  8. Pillow: работа с изображениями
  9. Модуль Antigravity в Python 3
  10. Структура данных deque в Python
  11. Метод lt для сортировки объектов
  12. Экспорт функций в Python
  13. Область видимости переменных
  14. Тип CodeType в Python.
  15. Проверка элемента в множестве.
  16. Создание словарей и множеств в Python.
  17. Принципы Zen Python
  18. Парсинг статей с Newspaper3k
  19. Извлечение аудио из видео
  20. Аннотации типов в Python
  21. Обработка ошибок в Python
  22. Установка пакета в Python
  23. Создание графики с черепахой
  24. Проверка строки на палиндром
  25. Метод __ilshift__ для битового сдвига влево
  26. Пропуск строк в файле с itertools
  27. Оператор == в Python
  28. Слияние словарей в Python 3.9
  29. Преобразование символов с помощью map
  30. Удаление файлов в Python
  31. Метод get() в Python
  32. Капитализация строк
  33. Курсы Яндекс Практикум
  34. Красивый вывод списка
  35. Объединение итераторов
  36. Удаление эмодзи с помощью pandas
  37. Модуль os в Python: работа с файлами
  38. Библиотека schedule: планировщик задач
  39. Синхронизация доступа к ресурсам
  40. Поиск наиболее частого элемента
  41. Библиотека wikipedia для Python
  42. UserList в Python: Описание и примеры использования
  43. Копирование объектов в Python
  44. Разделение строки на пары ключ-значение.
  45. Безопасный доступ к значениям словаря
  46. Подробная информация о %pinfo
  47. Рекурсия для обращения строки
  48. Группы исключений в Python

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