Курс 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. Defaultdict в Python
  3. Python reversed() vs срез[::-1]
  4. Множества и frozenset
  5. Преобразование кортежа в словарь.
  6. Поиск шаблона в строке
  7. Разбиение строки в Python
  8. %pinfo: получение информации об объекте
  9. Создание и использование модулей в Python
  10. Закрытие файла в Python
  11. Конструктор в Python
  12. Python enumerate() для работы с индексами
  13. Функция enumerate() в Python
  14. Удаление элементов из списка в Python
  15. Вакансии в Nebius
  16. Принципы Zen Python
  17. Форматирование кода на Python
  18. Установка User-Agent в Python
  19. Вывод букв строки в Python
  20. Профилирование данных с Pandas
  21. Выбор редактора кода.
  22. Метод join() для объединения элементов строки
  23. Декораторы в Python
  24. Делегирование в Python
  25. Создание и использование ChainMap
  26. Капитализация строк
  27. Логирование с Logzero
  28. Удаление ссылок в Python
  29. Срезы в Numpy
  30. Метод __imod__ для Python
  31. Декоратор Ajax required
  32. Обработка элементов в Python
  33. Работа с CSV файлами в Python
  34. Работа с комплексными числами
  35. Magic Commands — улучшение работы с Python
  36. Присоединение элементов коллекции
  37. Поиск email
  38. Структурирование именованных констант
  39. Присвоение значений переменным в Python
  40. Измерение времени выполнения
  41. Определение индекса элемента списка
  42. Операция += для списков
  43. Возврат значений из генератора
  44. Вывод сложных структур данных с помощью pprint
  45. Генераторы списков в Python
  46. Изменение списка срезами
  47. Работа с многоуровневыми словарями в Python
  48. Работа со стеком в Python

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