Курс 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"
- Отладка кода
- Переопределение метода
- Создание генераторов
- Подписка на каналы разработчиков
- Создание коллекций из генератора
- Методы и функции в Python
- Итераторы в Python
- Замена текста с re.sub()
- Проверка ввода с помощью isdigit
- Установка и использование Logzero
- Циклы в Python
- Отправка HTTP-запросов с User-Agent
- Преобразование типов данных в set comprehension
- Основные операции с библиотекой Numpy
- Подсчет вхождений элементов
- Переопределение метода __lshift__
- Объединение коллекций в Python
- Переопределение унарных операторов
- Управление ресурсами с контекстными менеджерами
- Метаклассы в Python
- Создание списков в Python
- Форматирование строк в Python
- Форматирование данных с помощью pprint
- Colorama: окрашивание текста в Python
- Обучение модели с указанием эпох
- Скрытие вывода данных
- Изменение логики работы с временем
- Хэш-функции и метод цепочек
- Комментарии в Python
- Операторы Splat и splatty-splat
- Просмотр внешних файлов в %pycat
- Преобразование в float
- Генераторы списков
- Оператор распаковки в Python
- Переменные в Python: сокращение гласных
- Работа с YAML в Python
- Аннотации типов в Python
- Выбор редактора кода.
- Создание GUI с Tkinter: Entry
- Метод join() с набором
- Форматирование строк в Python
- Проверка переменных окружения в Python
- Создание генераторов в Python
- Big O оптимизация
- Подчеркивание в REPL
- Сложение матриц в NumPy















