Курс 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"
- Модуль xkcd: загрузка комиксов
- Создание списков в Python
- Игра «Камень, ножницы, бумага» — Python
- Установка и использование модуля Wikipedia
- Построение графиков в Matplotlib
- Применение функции к элементам списка
- Очистка данных в Python
- Избегайте изменяемых аргументов
- Модуль Antigravity в Python 3
- Множественное присваивание в Python
- Метод append() для списка
- Оператор «not» в Python
- Удаление ссылок в Python
- Вычисление натурального логарифма в NumPy
- Создание объекта времени
- Округление банкира в Python
- Получение ID процесса
- Метод matmul для умножения матриц
- Работа с базами данных SQLite
- Операции с датами в Python
- Путь к интерпретатору Python
- Моржовый оператор в Python 3.8
- Переопределение метода len
- Просмотр атрибутов и методов класса
- Инверсия списка/строки в Python
- Методы сравнения множеств
- Docstring в Python
- Декораторы в Python
- Методы Python для работы с данными
- Использование функции enumerate()
- Регулярные выражения в Python
- Преобразование символов с помощью map
- Представление бесконечности в Python
- Объединение списков в Python.
- Создание словарей с defaultdict()
- Метод rmatmul для пользовательских матриц
- Создание копии итератора
- Аннотации типов в Python
- Работа с кортежами
- Профилирование кода
- Оператор is в Python
- Метод rsub в Python: расширение функциональности вычитания
- Создание новых списков через list comprehensions
- Работа с CSV в Python















