Курс 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. Модуль itertools: комбинации и перестановки
  3. Удаление URL-адресов в Python
  4. Объединение словарей в Python
  5. Введение в Python
  6. Преобразование чисел в восьмеричную строку
  7. Numpy: использование Ellipsis
  8. Переопределение метода __floordiv__
  9. Подписка на SelectelNews в Twitter
  10. Создание новых списков в Python
  11. Генераторы списков в Python
  12. Добавление вложенных списков
  13. Генерация случайных чисел в Python
  14. Разделение функций на этапы
  15. Генераторы в Python
  16. Красивый вывод списка
  17. Удаление элемента из списка в Python
  18. Работа с изображениями Pillow
  19. Оптимизация сравнения в Python
  20. Дизассемблирование Python кода
  21. Переворот последовательности
  22. Pretty-printing JSON в Python
  23. Установка пакета в Python
  24. Операторы += в Python
  25. Справка по импортированным модулям
  26. Переворот строки с использованием цикла
  27. Регистрация на курсы SF Education
  28. Основы слова
  29. Удаление файлов и папок в Python
  30. Python Тесты и Гайды
  31. Установка Git и AWS CLI
  32. Управление асинхронными задачами на Python.
  33. Работа с модулем random
  34. Работа со словарями
  35. Подсчет элементов с помощью Counter из collections
  36. Генераторы данных
  37. Объединение списков в Python.
  38. Принципы Zen Python
  39. Каналы Senior: Python, Java, Frontend, SQL, C++
  40. Измерение потребления памяти при сортировке
  41. Сериализация объектов в Python
  42. Функции min(), max(), sum()
  43. Переопределение унарных операторов
  44. Метод setdefault() в Python
  45. Декоратор Ajax required

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