Курс 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. Функция enumerate в Python
  3. Замена символов в Python
  4. Копирование в Python
  5. Управление сессиями в Python
  6. Инвертирование словаря
  7. Сохранение Unicode в JSON
  8. Удаление знаков препинания в Python
  9. Необязательные аргументы в Python
  10. Оптимизация поиска в словарях
  11. Создание словарей и множеств в Python
  12. Умножение строк и списков
  13. Генераторы в Python
  14. Замена переменных в Python
  15. Методы HTTP запросов в Flask
  16. Обратный список чисел
  17. Регулярные выражения в Python
  18. Логирование с Loguru
  19. Создание копии списка в Python
  20. Переопределение метода __pow__
  21. Оператор == в Python
  22. Тип данных TypeVarTuple
  23. Форматирование строк в Python
  24. Множества и frozenset
  25. Howdoi — получение ответов из терминала
  26. Python Тесты и Гайды
  27. Открытие и запись файлов
  28. Декодирование строк в Python
  29. Множественное назначение в Python
  30. Изменение объектов в Python
  31. Проверка типов с помощью isinstance
  32. Правила именования переменных
  33. Удаление файлов и папок в Python
  34. Python: библиотеки и функции
  35. Глобальные переменные в Python
  36. Оператор морж в Python 3.8
  37. Поиск самого длинного слова в списке с использованием max()
  38. Удаление элементов из списка в Python
  39. Объединение, распаковка и деструктуризация
  40. Получение списка кортежей из словаря
  41. Сортировка слиянием
  42. Функции высшего порядка в Python
  43. Метод __irshift__ для Python
  44. Методы __repr__ и __str__ в Python
  45. Форматирование строк в Python
  46. Синхронизация потоков с time.sleep()

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