Курс Python → Генератор чисел Фибоначчи

Для создания генератора в Python можно использовать ключевое слово yield. Это позволяет создать функцию, которая будет возвращать последовательность значений, не храня их все сразу в памяти, что позволяет экономить ресурсы. Например, рассмотрим функцию fib, которая возвращает генератор с n числами Фибоначчи.

def fib(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

В данном примере мы используем цикл for для генерации чисел Фибоначчи и yield для возврата каждого числа в виде генератора. Таким образом, при вызове функции fib с параметром n, мы получим генератор, который может быть использован для итерации по числам Фибоначчи.

Генераторы в Python позволяют эффективно работать с большими последовательностями данных, так как они не требуют выделения памяти под все значения сразу. Вместо этого значения генерируются по требованию, что уменьшает нагрузку на оперативную память и позволяет работать с большими объемами данных.

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

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

Автор урока

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

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

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

  1. inspect в Python: анализ кода
  2. Принципы Zen Python
  3. Возврат нескольких значений
  4. Сумма элементов списка
  5. Импорт модулей и пакетов в Python
  6. Округление чисел с помощью round
  7. Встроенные функции Python
  8. Работа с getopt
  9. Документация функции help() в Python
  10. Модуль subprocess: запуск внешних команд
  11. Функция findall() для поиска вхождений строки
  12. Копирование в Python
  13. Работа с буфером обмена на Python
  14. Работа с необработанными строками
  15. Потоковый ввод в Python
  16. Замена текста с помощью sub
  17. Получение списка кортежей из словаря
  18. JMESPath в Python
  19. Курс Data Scientist в медицине
  20. Управление ресурсами с контекстными менеджерами
  21. Работа с Requests для HTTP-запросов
  22. Преобразование символов в нижний регистр
  23. Преобразование чисел в Python
  24. Получение обратного списка чисел
  25. Функция zip() в Python
  26. Генераторы в Python
  27. Замена символов в Python
  28. Работа с изменяемыми списками
  29. Гибкие функции Python
  30. Особенности ключей словаря в Python
  31. Декораторы в Python
  32. Создание обратного итератора
  33. Генератор списка в Python
  34. Работа с OpenCV
  35. Тестирование модели в PyTorch
  36. Измерение времени выполнения кода в Python
  37. Список методов и атрибутов
  38. Переворот строки с помощью срезов
  39. Логирование с Logzero
  40. Деление в Python
  41. Навыки Python: строки, типы данных
  42. Удаление дубликатов из списка с помощью dict.fromkeys
  43. ROT13 Шифр Цезаря в Python

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