Курс 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. Метод __imod__ для Python
  3. Получение текущей даты и времени с помощью datetime
  4. Удаление эмодзи с помощью pandas
  5. discard() — удаление элемента из множества
  6. Сумма элементов списка
  7. Подсчет частоты элементов с Counter
  8. Комментарии в Python
  9. Библиотека wikipedia для Python
  10. Добавление элементов в список
  11. Python OrderedDict и fromkeys() — работа с словарями
  12. Создание OrderedDict
  13. Проверка ввода с помощью isdigit
  14. Получение локальных переменных в Python
  15. Генераторные выражения и islice.
  16. Декораторы в Python
  17. Flask: создание веб-приложений
  18. Объединение строк с помощью метода join
  19. Работа с исключениями в Python
  20. Объединение словарей в Python
  21. Типы возвращаемых значений в Python
  22. ChainMap.new_child() — добавление нового словаря
  23. Оценка точности модели
  24. Ошибка NotImplemented в Python
  25. Функция pow() — возвести число в степень
  26. Удаление файлов и папок в Python
  27. Генераторы в Python
  28. Участие в сообществе @selectel
  29. Капитализация строк
  30. Сохранение Unicode в JSON
  31. Преобразование Excel в PDF с Spire.XLS
  32. Тестирование времени с Freezegun
  33. Метод округления чисел
  34. Модуль inspect
  35. Python Метод Union Множеств
  36. Установка и использование Telegram API в Python
  37. Синхронизация потоков с time.sleep()
  38. Namedtuple в Python
  39. Тестирование функции сложения
  40. Курсы Яндекс Практикум
  41. Логические значения в Python
  42. Многопоточность в Python
  43. Обратное распространение ошибки

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