Курс 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. Combobox в Tkinter
  2. Атрибуты объекта в Python
  3. Удаление ссылок в Python
  4. Методы __repr__ и __str__ в Python
  5. Оператор (*) в Python
  6. Concrete Paths — метод .with_suffix()
  7. Дефолтные параметры в Python
  8. Список и кортеж в Python
  9. Оператор in для проверки наличия элемента
  10. Сортировка HTML по CSS-селектору
  11. Работа с множествами в Python
  12. Функции map() и reduce() в Python
  13. Удаление специальных символов с помощью re.sub
  14. Оператор морж в Python 3.8
  15. Создание пар из последовательностей
  16. Numpy: разбиение массивов
  17. Мощь вложенных функций в Python
  18. Вставка переменных в шаблоны Flask
  19. Работа с collections.Counter
  20. Изменение логики работы с временем
  21. Преобразование списка в словарь через генератор
  22. Декодирование байтов в строку
  23. Реверс строки и списка в Python.
  24. Оптимизация параметров в Python
  25. Тестирование функции сложения
  26. Python union() функция — объединение множеств
  27. Обработка исключений в Python
  28. Основные операции с библиотекой Numpy
  29. Использование defaultdict в Python
  30. Оператор обр. импликации
  31. Запуск файлового сервера
  32. Инициализация структур данных
  33. Создание и удаление объектов
  34. Копирование объектов в Python
  35. Рациональные числа в Python
  36. Перезагрузка оператора в Python
  37. Генераторы словарей и множеств
  38. Множественное назначение в Python
  39. Измерение времени выполнения с помощью time
  40. Работа с переменными в Python
  41. Функция count() в Python
  42. Работа с итераторами в Python
  43. Новшества Flask 2.0
  44. Удаление дубликатов из списка
  45. Отслеживание выполнения программы с библиотекой tqdm
  46. Измерение времени выполнения кода с использованием time

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