Курс 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"
- Расчет времени выполнения
- Использование функции product
- Экспорт данных в файл.
- Тайное преобразование типа ключа
- Перевод двоичного кода в целое число
- Преобразование многоуровневого словаря
- Обновление и получение данных в SQLite
- Работа с путями в Python
- Вывод баннеров
- Классы данных в Python
- Создание словарей в Python
- Генерация фальшивых данных с Faker
- Разделение функций на этапы
- Игра «Угадывание чисел»
- Конкатенация строк с join() в Python
- Присоединение элементов коллекции
- Работа с атрибутом dict
- Расширение операции побитового «и» в Python
- Копирование объектов в Python
- Конкатенация строк с помощью join()
- Структурирование именованных констант
- Округление в Python
- Проблема с изменяемыми аргументами
- Оператор zip в Python
- Разделение строки с помощью split()
- Запуск Python из интерпретатора
- Поиск подстроки в строке
- Обезопасьте ввод данных
- Уникальные значения из списка
- Переопределение метода len
- Проверка условий: all и any
- Возврат нескольких значений из функции
- Импорт модулей и пакетов в Python
- Работа с модулем bisect
- Работа с классами данных
- Генератор бросков кубиков
- Замена элементов в списке с помощью генераторов списков
- Декораторы классов
- Переопределение унарных операторов
- Многострочные комментарии в Python
- Операции с датами в Python
- Работа с Colorama
- Глобальные переменные в Python
- Создание новых функций через partial
- Ускорение выполнения кода в Python
- Декораторы в Python
- Форматирование строк в Python
- Комплексные числа в Python















