Курс 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. Создание таблиц в терминале с PrettyTable
  2. Оператор распаковки в Python
  3. Преобразование в float
  4. Работа с модулем glob в Python
  5. Очистка вывода в Python
  6. Функции any() и all() в Python
  7. Возврат нескольких значений
  8. Метод invert для побитового отрицания
  9. Работа с комплексными числами
  10. Хешируемые ключи в Python
  11. Работа с контекстным менеджером Pool
  12. Логические значения в Python
  13. Срезы в Python
  14. Декоратор проверки активности
  15. Отладка кода
  16. Модуль subprocess: запуск внешних команд
  17. Работа с изображениями PIL
  18. Измерение времени выполнения с помощью time
  19. Сортировка с параметром key
  20. Раздувающийся словарь в Python
  21. Замена переменных в Python
  22. Создание вложенного генератора
  23. Возведение в квадрат с помощью itertools
  24. Повторение элементов в Python
  25. Очистка данных с Pandas
  26. Цикл for с enumerate() в Python
  27. Любовь к Python
  28. Удаление элемента по индексу
  29. Модуль math: константы π и e
  30. Открытие, чтение и закрытие файла
  31. Работа с пакетами
  32. Наиболее частотные элементы с помощью Counter
  33. Оператор (*) в Python
  34. Проверка ввода с помощью isdigit
  35. Импорт модуля из другого каталога
  36. Умножение строк и списков
  37. Структуры данных в Python
  38. Многопоточность и асинхронное программирование в Python
  39. Генераторы и сеты в Python
  40. Метод count() для списка
  41. Анализ текста на русском языке с помощью Pymystem3
  42. ChainMap избыточные ключи
  43. Проверка файла .py на синтаксис.
  44. Методы обработки строк в Python
  45. Метод __getitem__ в Python
  46. Импорт модулей и пакетов в Python

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