Курс 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. Создание коллекций из выражения-генератора
  5. Функция __init__ в Python
  6. Работа с функцией next() в Python
  7. Работа с комплексными числами
  8. Функции any() и all() в Python
  9. Генерация случайных чисел в Python
  10. Преобразование данных в Python
  11. Метод add для класса Vector
  12. Избегание циклических зависимостей классов в Python
  13. Библиотека Emoji: использование смайлов в Python
  14. PATCH-запрос с библиотекой requests
  15. Оптимизация поиска в словарях
  16. Работа с эмодзи в Python
  17. Поиск шаблона в начале строки
  18. Генерация случайных данных в NumPy
  19. Повторение элементов в Python
  20. Копирование словарей и списков в Python
  21. Сортировка и разворот списка
  22. Множественное назначение в Python
  23. Декораторы в Python
  24. Библиотека wikipedia для Python
  25. Оператор walrus в Python
  26. Преобразование в float
  27. Оператор «is not» в Python
  28. Создание объекта timedelta
  29. Обработка ошибок в Python
  30. Функция enumerate() — Python
  31. Работа с комплексными числами
  32. Оператор объединения словарей
  33. Получение текущей директории
  34. Структура строк в Python
  35. Округление банкира в Python
  36. Лямбда-функции в Python
  37. Метод getitem для доступа к элементам последовательности
  38. Разделение функций на этапы
  39. Обработка исключений в Python
  40. Удаление дубликатов с помощью множеств
  41. Преобразование строк в числа с плавающей запятой
  42. Подсчет элементов с помощью Counter из collections
  43. Проверка существования переменной с оператором :=
  44. Принципы Zen of Python
  45. Вызов функций по строке в Python.
  46. Работа с OpenCV
  47. Отслеживание прогресса с tqdm

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