Курс 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. Функция count() в Python
  2. IPython и Jupyter Notebook: руководство
  3. Поток данных в Python
  4. Установка переменной среды в Python
  5. Сравнение неупорядоченных списков
  6. Ветвление выражения в Python
  7. Декоратор Ajax required
  8. Конкатенация строковых литералов
  9. Переопределение метода __or__()
  10. Локальные переменные.
  11. Работа со словарями в Python
  12. Цепные операции в Python
  13. Метод join для наборов
  14. Генераторы в Python
  15. Оператор == в Python
  16. Визуализация пропусков данных
  17. Генераторы в Python
  18. Получение текущего времени в Python
  19. Отделение звука от видео
  20. Цикл for в Python
  21. Печать комбинаций в Python с Itertools
  22. Создание namedtuple списком полей
  23. Обработка исключений в Python
  24. Создание матрицы в Python
  25. Управление контекстом выполнения кода
  26. Переворот строки с использованием цикла
  27. Модуль inspect: получение информации о объектах
  28. Бесконечная проверка в Python
  29. Упрощение работы с JSON-данными в Python
  30. Python 3.12: Псевдонимы типов
  31. Нахождение разницы между списками в Python
  32. Реверс строки в Python
  33. Перегрузка операторов в Python
  34. Вывод с переменной через запятую
  35. Разделение строки в Python
  36. Философия Python
  37. Функция print() — вывод информации
  38. Сортировка HTML-элементов
  39. Проверка дубликатов в Python
  40. Многопоточность в Python
  41. Работа с модулем cmath
  42. Многострочные комментарии в Python
  43. Декораторы в Python
  44. Поиск анаграмм с Counter
  45. Изменение регистра данных
  46. Добавление цвета в консоли

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