Курс 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. Измерение времени выполнения кода с помощью time
  4. Распаковка значений в Python
  5. Применение функции map() с лямбда-функциями
  6. Изменение IP-адреса в Python
  7. Объединение, распаковка и деструктуризация
  8. История Python
  9. Оптимизация сравнения в Python
  10. Управление памятью в numpy.
  11. Область видимости переменных
  12. Оператор zip в Python
  13. Обработка исключений с блоком else
  14. Удаление специальных символов
  15. Сравнение def и lambda-функций
  16. Создание графиков в терминале
  17. Проверка подстроки в строке с помощью in
  18. Настройка Cron
  19. Структуры данных в Python
  20. Метод __ixor__ для побитового исключающего ИЛИ
  21. Проверка типа объекта в Python
  22. Проверка на истинность объектов в Python
  23. Операции с числами в Python
  24. Функция count() в Python
  25. Лямбда-функции в Python
  26. Модуль xkcd: добавление юмора в Python
  27. Работа с файловой системой в Python
  28. Декораторы в Python
  29. Перевод эмодзи и эмотиконов.
  30. Функции map() и reduce() в Python
  31. Глобальные переменные в Python
  32. Numpy: объединение массивов
  33. Декоратор @override
  34. Изучение объектов с помощью dir()
  35. Использование функции product
  36. Преобразование текста в речь с Python
  37. Возврат нескольких значений
  38. Метод округления чисел
  39. Генераторы в Python
  40. Извлечение аудио из видео
  41. Поиск подстроки в строке
  42. Отправка POST запроса на сервер.
  43. Добавление цвета в консоли
  44. Создание словарей с defaultdict()
  45. Создание словарей в Python
  46. Подсчет элементов в Python

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