Курс 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. Запуск внешнего кода в Jupyter
  2. Работа с итераторами в Python
  3. Создание спинбокса в tkinter
  4. Фильтрация элементов с помощью islice
  5. Комментарии в Python
  6. Лямбда-функции в Python
  7. Работа с itertools
  8. Работа с аргументами командной строки
  9. Преобразование Word в PDF с Spire.Doc
  10. Функция format() в Python
  11. Работа со строками в Python.
  12. Конкатенация строк в Python
  13. Подробная информация о %pinfo
  14. Библиотека sh: использование команд bash в Python
  15. Работа с deque в Python
  16. Оператор @ для умножения матриц
  17. Печать месячного календаря
  18. Переопределение метода xor в Python
  19. Управление IP-адресами через прокси
  20. Метод join() для объединения элементов в строку.
  21. Работа с переменными в Python
  22. Сравнение объектов в Python
  23. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  24. Извлечение аудио из видео
  25. Управление памятью в numpy.
  26. Проверка строки на палиндром
  27. Реализация операции -= для пользовательского класса
  28. Метод count() для списков
  29. kwargs в Python
  30. Сумма элементов списка
  31. Печать комбинаций в Python с Itertools
  32. Исключение NotImplementedError
  33. Создание даты из строки ISO
  34. Проверка списка: any() и all()
  35. Многопоточность в Python
  36. Ограничение итераций в Python
  37. Операторы увеличения и уменьшения в Python
  38. Библиотека funcy: удобные утилиты
  39. Оператор «моржа» (Walrus Operator)
  40. Работа со строками в Python
  41. Работа с буфером обмена на Python
  42. Python Метод del.
  43. Разница между датами
  44. Вставка переменных в шаблоны Flask
  45. Уникальность ключей в словаре
  46. Проверка переменных окружения в Python
  47. Обработка ошибок в Python
  48. Удаление falsy-значений из списка с помощью filter

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