Курс 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. Декоратор @override
  2. Множественное присваивание в Python
  3. Округление в Python
  4. Декораторы в Python
  5. Область видимости переменных в Python
  6. Объединение списков в Python
  7. Оператор break в Python
  8. Преобразование чисел в восьмеричную строку
  9. ROT13 Шифр Цезаря в Python
  10. Установка и использование TensorFlow
  11. Форматирование строк в Python
  12. Переменные в Python
  13. Экспорт функций в Python
  14. Метод сравнения объектов в Python
  15. Работа с argparse
  16. Функция zip() в Python
  17. ChainMap.new_child() — добавление нового словаря
  18. Создание Radio кнопок в tkinter
  19. Функции в Python
  20. Установка переменной среды в Python
  21. Изменение списка срезом
  22. Генераторы списков
  23. Измерение времени выполнения с помощью time
  24. discard() — удаление элемента из множества
  25. Декоратор Property в Python
  26. Объединение кортежей в Python
  27. Работа с исключениями в Python
  28. Эффективная конкатенация строк с использованием join()
  29. Enum в Python: создание и использование перечислений
  30. Установка максимального количества цифр
  31. Конвертация коллекций в Python
  32. Роль object и type в Python
  33. Поиск уникальных и повторяющихся элементов
  34. Обмен переменными в Jupyter
  35. Создание OrderedDict
  36. Определение основы слова с showballstemmer
  37. Декораторы в Python
  38. Обмен данными с asyncio.Queue
  39. Оператор += в Python
  40. Создание комплексных чисел
  41. Получение комбинаций в Python
  42. Реализация метода __abs__ в Python
  43. Область видимости переменных
  44. Функция all() в Python
  45. Ускорение обработки данных с %autoawait

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