Курс 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. Импорт в Python: список all
  2. Управление мышью и клавиатурой с Pyautogui
  3. Преобразование типов данных в set comprehension
  4. Оптимизация памяти в Python
  5. Получение частей дроби
  6. Вычисление натурального логарифма в NumPy
  7. Присоединение элементов коллекции
  8. Проверка на палиндром
  9. Профилирование данных с Pandas.
  10. Измерение времени выполнения с помощью time
  11. Визуализация пропусков данных
  12. Python 3.12: переиспользование кавычек
  13. Глубокое копирование объектов
  14. Передача параметров в Python
  15. Разрешение имен в Python
  16. Множества и frozenset
  17. Извлечение статей с newspaper3k
  18. Форматирование кода на Python
  19. Создание OrderedDict
  20. F-строки в Python
  21. OrderedDict — упорядоченный словарь
  22. Преобразование вложенного списка
  23. Метод сравнения объектов в Python
  24. Метод join() для объединения элементов в строку.
  25. Группировка элементов в словарь
  26. Функция reduce() из модуля functools
  27. Изменяемые и неизменяемые объекты
  28. Атрибуты класса и экземпляра
  29. Обработка данных в Python
  30. Изменение регистра данных
  31. Наиболее частотные элементы с помощью Counter
  32. GitHub в Telegram: подписка на уведомления
  33. Курс по дообучению ChatGPT
  34. Метод radd для пользовательских чисел
  35. Функция count() в Python
  36. Очистка данных с Pandas
  37. Генераторы данных
  38. Создание веб-приложения с Flask
  39. Работа с модулем random
  40. Отправка поздравлений по дню рождения
  41. Форматирование строк в Python
  42. Работа с deque из collections
  43. Определение объема памяти объекта
  44. Условные выражения в Python
  45. Аргументы *args и **kwargs
  46. Добавление элементов в список
  47. Замена текста в Python

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