Курс Python → Генераторные функции в Python

Генераторные функции в Python представляют собой специальный тип функций, которые позволяют создавать итераторы. Они отличаются от обычных функций тем, что вместо ключевого слова return используется ключевое слово yield. Это позволяет функции вернуть значение и временно приостановить свое выполнение, сохраняя состояние.

Одним из основных преимуществ использования генераторных функций является экономия памяти. Вместо того, чтобы сразу создавать и хранить в памяти все элементы списка, генератор создает элементы по мере необходимости. Это особенно полезно, если список содержит большое количество элементов или если требуется выполнить сложные вычисления для каждого элемента.

Для создания генераторной функции в Python необходимо определить функцию с использованием ключевого слова yield. Пример простой генераторной функции, которая генерирует последовательность чисел от 0 до n:


def generate_numbers(n):
    for i in range(n):
        yield i

После определения генераторной функции, можно использовать ее для создания итератора. Например, чтобы вывести все числа от 0 до 9, можно сделать следующее:


numbers = generate_numbers(10)
for num in numbers:
    print(num)

Таким образом, генераторные функции представляют собой мощный инструмент для работы с большими объемами данных и выполнения сложных операций над ними. Использование генераторов позволяет эффективно использовать память и улучшить производительность программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Удаление символа из строки
  2. Функции min(), max(), sum()
  3. Изменение регистра данных
  4. Удаление элемента по индексу
  5. Метод Event.wait() в Python
  6. Поиск индекса элемента
  7. Игра «Виселица» на Python
  8. Обработка ошибок в Python
  9. Обработка исключений в Python
  10. Измерение времени выполнения кода в Python
  11. Пространство имен в Python
  12. Объединение словарей в Python
  13. Работа с Path в Python
  14. Преобразование списков в словарь
  15. Метод lt для сортировки объектов
  16. Оператор (*) в Python
  17. Python reversed() функция
  18. Аргументы *args и **kwargs
  19. Декораторы с @wraps
  20. Генераторы по генератору
  21. Объединение словарей в Python
  22. Отладка кода
  23. Оператор «not» в Python
  24. Преобразование числа в восьмеричную строку
  25. Встроенные функции Python
  26. Документирование функций в Python
  27. Разделение строк в Python
  28. Получение текущей даты и времени с помощью datetime
  29. Форматирование строк в Python
  30. Блок try…finally в Python
  31. Отрицательные индексы списков
  32. Удаление ресурса в Python
  33. Структура строк в Python
  34. Работа с очередями в Python
  35. Оператор «is not» в Python
  36. Работа с файлами в Python
  37. Работа с рекламными данными в Pandas
  38. Проверка элементов списка условием
  39. capitalize() — изменение регистра первого символа строки
  40. Конвертация изображений в PDF
  41. Список импортированных модулей в Python
  42. Манипуляция формой массива в Numpy
  43. Объединение списков в Python
  44. Поиск частых элементов в списке
  45. Функции map, filter и reduce
  46. Добавление элементов в список
  47. Автоматизация действий с Pyautogui

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