Курс 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. Замена атрибута в именованном кортеже
  3. Оператор is в Python
  4. Удаление элементов из списка в Python
  5. Логирование с Loguru
  6. Расчет времени выполнения
  7. Хеширование паролей с использованием salt
  8. Использование функции enumerate()
  9. Python enumerate() функции
  10. Создание словаря с значением по умолчанию
  11. Работа с географическими данными в Python
  12. Закрытие файла в Python
  13. Абстракции словарей и множеств в Python
  14. Работа со словарями
  15. Импорт с альтернативным именем
  16. Установка и загрузка Instaloader
  17. Подписка на каналы разработчиков
  18. Обработка StopIteration в Python
  19. Методы shutil для работы с файлами
  20. Обмен значений переменных в Python
  21. Анализ текста на русском языке с помощью Pymystem3
  22. Получение значений из словарей
  23. Декораторы в Python
  24. Поиск индекса элемента
  25. Проверка памяти объекта
  26. Установка и использование Logzero
  27. Настройка нарезки списков
  28. Использование модуля math
  29. Бинарный поиск
  30. Создание списка через цикл
  31. Метод __irshift__ для побитового сдвига вправо
  32. Передача неизвестных аргументов в Python.
  33. Работа с OpenCV
  34. Порядок операций в Python
  35. Codecademy в Telegram
  36. Удаление символов новой строки в Python.
  37. Руководство по использованию Colorama
  38. Объединение словарей в Python
  39. Поиск индексов в списке
  40. Работа со временем в Python
  41. Преобразование регистра символов
  42. Метод count в Python: почему count(», ») возвращает 4?
  43. Конкатенация строковых литералов
  44. Обязательные аргументы в Python
  45. Переменные класса и экземпляра
  46. Базовые объекты Python

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