Курс 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. Основные операции с Numpy
  3. Курс по дообучению ChatGPT
  4. Деление в Python
  5. Метод difference_update() — разность множеств
  6. Разработка игры Pong с turtle
  7. Импорт в Python: список all
  8. Настройка Cron
  9. Преобразование символов в нижний регистр
  10. Библиотека wikipedia для Python
  11. Список методов и атрибутов
  12. Решение переменной Шредингера
  13. Работа с модулем bisect
  14. Вычисление натурального логарифма в NumPy
  15. Создание списка через итерацию
  16. Кортеж в Python: создание, доступ, изменение
  17. Преобразование данных в Python
  18. Python OrderedDict и fromkeys() — работа с словарями
  19. Использование defaultdict в Python
  20. Объявление переменных в Python
  21. Работа с файлами в Python
  22. Monkey Patching в Python
  23. Python: динамическая типизация и проверка типов
  24. Метод join() для объединения строк
  25. Python: Фильтрация списков с помощью filter()
  26. Создание функций высшего порядка
  27. Прокачанный трейсинг ошибок
  28. Python Поверхностное Копирование
  29. Структуры данных в Python
  30. Поиск уникальных элементов строкой в Python
  31. Импорт с альтернативным именем
  32. Работа с эмодзи в Python
  33. Метод classmethod
  34. Генераторы списков в Python
  35. Работа с CSV файлами
  36. Поиск подстроки в строке
  37. Исключение NotImplementedError
  38. Работа с комплексными числами
  39. Метод ifloordiv для пользовательских классов
  40. Функция format() в Python
  41. Retrying в Python: повторные вызовы
  42. Многопоточность и асинхронное программирование в Python
  43. Работа с Requests для HTTP-запросов
  44. Подписка на @SelectelNews
  45. Ключевое слово global в Python
  46. Установка и загрузка Instaloader

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