Курс 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. Удаление ключей из словаря
  2. Метод split() в Python
  3. Измерение времени выполнения с помощью time
  4. Установка виртуального окружения Python
  5. Разделение строки с помощью re.split()
  6. Создание копии итератора
  7. Метод join() для объединения элементов
  8. Вычисление натуральных логарифмов в NumPy
  9. Создание уникального проекта
  10. Дизассемблирование Python кода
  11. Псевдонимы в Python
  12. Избегание циклических зависимостей классов в Python
  13. Декораторы в Python
  14. Декораторы в Python
  15. Создание коллекций из генератора
  16. Генерация UUID в Python
  17. Генераторы словарей и множеств
  18. Функция enumerate() — Python
  19. Установка пакетов с помощью pip
  20. Хэш-функции и метод цепочек
  21. Работа с асинхронными задачами в Python
  22. Оператор «is not» в Python
  23. Подсказки типов в Python
  24. Фильтрация последовательности
  25. Python Enum Weekday Usage
  26. Особенности ключей словаря в Python
  27. Атрибуты класса и экземпляра
  28. Solidity для DeFi Ethereum
  29. Аннотации типов в Python
  30. Применение функции к списку
  31. Участие в LP стейкинге Waves
  32. Работа с часовыми поясами в Python.
  33. Работа со слайсами
  34. Переменные в Python
  35. Деление в Python
  36. Изменение регистра данных
  37. Форматирование данных с помощью pprint
  38. Извлечение данных из JSON
  39. Отладка производительности Python
  40. Уникальные значения из списка
  41. Разделение строки с регулярными выражениями
  42. Путь к интерпретатору Python
  43. Оператор «not» в Python
  44. Работа с атрибутом dict

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