Курс 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. Отладка кода
  2. Переопределение метода
  3. Создание генераторов
  4. Подписка на каналы разработчиков
  5. Создание коллекций из генератора
  6. Методы и функции в Python
  7. Итераторы в Python
  8. Замена текста с re.sub()
  9. Проверка ввода с помощью isdigit
  10. Установка и использование Logzero
  11. Циклы в Python
  12. Отправка HTTP-запросов с User-Agent
  13. Преобразование типов данных в set comprehension
  14. Основные операции с библиотекой Numpy
  15. Подсчет вхождений элементов
  16. Переопределение метода __lshift__
  17. Объединение коллекций в Python
  18. Переопределение унарных операторов
  19. Управление ресурсами с контекстными менеджерами
  20. Метаклассы в Python
  21. Создание списков в Python
  22. Форматирование строк в Python
  23. Форматирование данных с помощью pprint
  24. Colorama: окрашивание текста в Python
  25. Обучение модели с указанием эпох
  26. Скрытие вывода данных
  27. Изменение логики работы с временем
  28. Хэш-функции и метод цепочек
  29. Комментарии в Python
  30. Операторы Splat и splatty-splat
  31. Просмотр внешних файлов в %pycat
  32. Преобразование в float
  33. Генераторы списков
  34. Оператор распаковки в Python
  35. Переменные в Python: сокращение гласных
  36. Работа с YAML в Python
  37. Аннотации типов в Python
  38. Выбор редактора кода.
  39. Создание GUI с Tkinter: Entry
  40. Метод join() с набором
  41. Форматирование строк в Python
  42. Проверка переменных окружения в Python
  43. Создание генераторов в Python
  44. Big O оптимизация
  45. Подчеркивание в REPL
  46. Сложение матриц в NumPy

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