Курс 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. Модуль Operator в Python
  2. Работа с argparse
  3. Синтаксис переменных цикла в Python
  4. Возврат нескольких значений из функции
  5. Анонимные функции в Python
  6. Оператор is в Python
  7. Область видимости переменных
  8. Удаление специальных символов с помощью re.sub
  9. Цикл while в Python
  10. Функции all и any в Python
  11. Просмотр внешнего файла в Python
  12. Профилирование с Pandas
  13. Работа с модулем random
  14. Определение объема памяти объекта
  15. Сортировка с помощью key
  16. Ограничение итераций в Python
  17. Генерация строк с .join()
  18. Функция sleep() в Python
  19. Библиотека Rich: форматирование текста
  20. Непрерывная проверка в Python
  21. Функции в одну строку
  22. Условные выражения в Python
  23. Инициализация объекта
  24. Вывод букв строки в Python
  25. Кортеж в Python: создание и использование
  26. Отправка POST запроса на сервер.
  27. Ускорение кода с помощью векторизации
  28. Функция map() в Python
  29. Декораторы в Python
  30. Модуль pprint
  31. Ошибка NotImplemented в Python
  32. Добавление кнопки в tkinter
  33. Операторы увеличения и уменьшения переменной
  34. Функция zip() для объединения списков
  35. Обработка аргументов Python
  36. Срез списка в Python
  37. Генерация случайных данных в NumPy
  38. Объединение словарей в Python
  39. Списковый компрехеншен.
  40. Метод Event.wait() в Python
  41. Проверка типов с помощью isinstance
  42. Метод __ilshift__ для битового сдвига влево
  43. Сортировка списка по индексам
  44. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  45. Оператор морж в Python 3.8
  46. Участие в LP стейкинге Waves
  47. Работа со строками в Python

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