Курс 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. PEP-401: оператор
  2. Измерение времени выполнения кода с помощью time
  3. Установка библиотек в Python
  4. Декораторы в Python
  5. Определение размера папок в Python
  6. Проблемы с dict в Python
  7. Экспорт функций в Python
  8. Управление памятью в numpy.
  9. lru_cache оптимизация функций
  10. Функции классификации комплексных чисел
  11. Поиск частого элемента
  12. Получение текущей даты и времени с помощью datetime
  13. Оператор match в Python
  14. Структурирование именованных констант
  15. Профилирование данных с Pandas
  16. Операции с комплексными числами
  17. Автоматизация скриптов на AWS Lightsail.
  18. Расширение операции побитового «и» в Python
  19. Установка и обучение ChatterBot
  20. Взаимодействие с внешними процессами в Python
  21. Работа с областями видимости переменных
  22. Удаление символа из строки
  23. Создание Telegram-бота на Python
  24. Python: отличительная особенность — отступы
  25. Возврат нескольких значений
  26. Переворот списка в Python
  27. Функции в Python: создание и вызов
  28. Декоратор Ajax required
  29. Работа с модулем os в Python
  30. Форматирование строк в Python
  31. Установка и использование библиотеки google
  32. Анонимные функции в Python
  33. Переопределение оператора % для объектов
  34. Обработка исключений в Python
  35. Функция enumerate в Python
  36. Настройка вывода NumPy
  37. Кортеж в Python: создание, доступ, изменение
  38. Метод ior для битовых операций
  39. Monkey Patching в Python
  40. Оптимизация создания строк
  41. Метод remove() для удаления элемента из списка
  42. Работа с итераторами в Python
  43. Функции any() и all() в Python
  44. Добавление цвета в консоли
  45. Объединение строк с помощью метода join
  46. Работа с асинхронными задачами в Python
  47. Непрерывная проверка в Python
  48. Использование метода lower()

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