Курс 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. Модуль xkcd: загрузка комиксов
  2. Создание списков в Python
  3. Игра «Камень, ножницы, бумага» — Python
  4. Установка и использование модуля Wikipedia
  5. Построение графиков в Matplotlib
  6. Применение функции к элементам списка
  7. Очистка данных в Python
  8. Избегайте изменяемых аргументов
  9. Модуль Antigravity в Python 3
  10. Множественное присваивание в Python
  11. Метод append() для списка
  12. Оператор «not» в Python
  13. Удаление ссылок в Python
  14. Вычисление натурального логарифма в NumPy
  15. Создание объекта времени
  16. Округление банкира в Python
  17. Получение ID процесса
  18. Метод matmul для умножения матриц
  19. Работа с базами данных SQLite
  20. Операции с датами в Python
  21. Путь к интерпретатору Python
  22. Моржовый оператор в Python 3.8
  23. Переопределение метода len
  24. Просмотр атрибутов и методов класса
  25. Инверсия списка/строки в Python
  26. Методы сравнения множеств
  27. Docstring в Python
  28. Декораторы в Python
  29. Методы Python для работы с данными
  30. Использование функции enumerate()
  31. Регулярные выражения в Python
  32. Преобразование символов с помощью map
  33. Представление бесконечности в Python
  34. Объединение списков в Python.
  35. Создание словарей с defaultdict()
  36. Метод rmatmul для пользовательских матриц
  37. Создание копии итератора
  38. Аннотации типов в Python
  39. Работа с кортежами
  40. Профилирование кода
  41. Оператор is в Python
  42. Метод rsub в Python: расширение функциональности вычитания
  43. Создание новых списков через list comprehensions
  44. Работа с CSV в Python

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