Курс 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. lru_cache оптимизация функций
  2. Поиск индексов в списке
  3. Ускоренный импорт библиотек
  4. Метод radd для пользовательских чисел
  5. Вычисление логарифмов в Python
  6. Работа с файлами в Python
  7. Функции в Python: создание и вызов
  8. Проверка памяти объекта
  9. Очистка входных данных
  10. Оператор is в Python
  11. Основы слова
  12. Очистка данных в Python
  13. Принципы LSP и ISP в Python
  14. Работа с кортежами
  15. Запуск внешнего кода в Jupyter
  16. Создание и операции с дробями
  17. Хранение данных с помощью dataclasses
  18. Параллельные вычисления в Python
  19. Функция enumerate() — Python
  20. Списковые включения в Python
  21. Методы сравнения множеств
  22. Удаление первого элемента списка
  23. Обратное распространение ошибки
  24. Просмотр атрибутов и методов класса
  25. Метод join для объединения строк
  26. Срезы в Python
  27. Создание класса очереди
  28. Конкатенация строковых литералов
  29. Работа со словарями
  30. Метод get для словарей
  31. Особенности ключей словаря в Python
  32. Метод title() в Python
  33. Работа с модулем os в Python
  34. Анализ текста на русском языке с помощью Pymystem3
  35. Игра «Камень, ножницы, бумага» — Python
  36. Автоматизация действий с Pyautogui
  37. Замена переменных в Python
  38. Манипуляция формой массива в Numpy
  39. Оператор Walrus в Python
  40. Проверка наличия элемента в списке
  41. Преобразование символов в нижний регистр
  42. Использование super() в Python
  43. Вывод букв строки в Python
  44. Разработка игры Pong с turtle
  45. Переопределение метода __pow__

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