Курс 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. Профилирование данных с Pandas
  2. Вызов функций по строке в Python.
  3. Транспонирование матрицы в Python
  4. Участие в сообществе @selectel
  5. Применение функции map() в Python
  6. Наиболее частотные элементы с помощью Counter
  7. Принципы SRP и OCP
  8. Управление IP-адресами через прокси
  9. Объединение объектов в Python
  10. Настройка логгера Logzero
  11. Установка пакета в Python
  12. Отрицательные индексы списков
  13. Парсинг статей с Newspaper3k
  14. Работа с timedelta
  15. GitHub в Telegram: подписка на уведомления
  16. Генераторы списков
  17. Определение основы слова с showballstemmer
  18. Создание Telegram-бота на Python
  19. Форматирование кода на Python
  20. Форматирование строк в Python
  21. Преобразование регистра символов
  22. Работа с буфером обмена на Python
  23. Лямбда-функции в Python
  24. Извлечение аудио из видео
  25. Асинхронный код в Python
  26. Обработка исключений в Python 3
  27. Разбиение текста в Python
  28. Логирование с Logzero
  29. Добавление кнопки в tkinter
  30. Оператор Walrus в Python 3.8
  31. Операторы присваивания в Python
  32. Функция reversed() в Python
  33. Функции с дополнением
  34. Моржовый оператор в Python 3.8
  35. Методы Python для работы с данными
  36. lru_cache оптимизация функций
  37. Принципы программирования
  38. Определение объема памяти объекта
  39. Howdoi — получение ответов из терминала
  40. Работа с итераторами в Python
  41. Расчет времени выполнения кода
  42. Замена символов в Python
  43. Безопасный доступ к значениям словаря

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