Курс 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. Замеры производительности в Python
  2. Замена атрибута в именованном кортеже
  3. Работа с часовыми поясами в Python.
  4. Округление банкира в Python
  5. Генератор бросков кубиков
  6. Обработка ошибок в Python
  7. Тернарный оператор в Python
  8. Модуль inspect: получение информации о объектах
  9. Получение идентификатора объекта в памяти
  10. Функция enumerate() в Python
  11. Подсчет элементов в Python
  12. Поток данных в Python
  13. Метод init в Python
  14. Срезы в Python
  15. Enum в Python: создание и использование перечислений
  16. Модуль sys: основы
  17. Введение в Python
  18. Отрицательные индексы списков
  19. Просмотр файла в Jupyter Noteboo
  20. Модуль os: работа с файлами и папками
  21. Преобразование в float
  22. Метод join() для объединения строк
  23. Функция print() — вывод информации
  24. Поиск файлов по шаблону
  25. Списковое включение в Python
  26. Создание графики с черепахой
  27. Инверсия списков и строк в Python
  28. Потоковый ввод в Python
  29. Работа с Path в Python
  30. Декоратор Property в Python
  31. Просмотр внешних файлов в %pycat
  32. Создание веб-приложения с Flask
  33. Определение объема памяти объекта
  34. Получение списка файлов в директории с использованием os
  35. Обработка ошибок ввода данных
  36. Метод Event.wait() в Python
  37. Метод join для наборов
  38. Копирование файлов с shutil()
  39. Декодирование байтов в строку
  40. Конкатенация строковых литералов
  41. Добавление элемента к кортежу
  42. Получение обратного списка чисел
  43. Оператор @ для умножения матриц
  44. Справка по импортированным модулям
  45. Проверка подстроки в строке с помощью in
  46. Retrying в Python: повторные вызовы

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