Курс 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"
- inspect в Python: анализ кода
- Принципы Zen Python
- Возврат нескольких значений
- Сумма элементов списка
- Импорт модулей и пакетов в Python
- Округление чисел с помощью round
- Встроенные функции Python
- Работа с getopt
- Документация функции help() в Python
- Модуль subprocess: запуск внешних команд
- Функция findall() для поиска вхождений строки
- Копирование в Python
- Работа с буфером обмена на Python
- Работа с необработанными строками
- Потоковый ввод в Python
- Замена текста с помощью sub
- Получение списка кортежей из словаря
- JMESPath в Python
- Курс Data Scientist в медицине
- Управление ресурсами с контекстными менеджерами
- Работа с Requests для HTTP-запросов
- Преобразование символов в нижний регистр
- Преобразование чисел в Python
- Получение обратного списка чисел
- Функция zip() в Python
- Генераторы в Python
- Замена символов в Python
- Работа с изменяемыми списками
- Гибкие функции Python
- Особенности ключей словаря в Python
- Декораторы в Python
- Создание обратного итератора
- Генератор списка в Python
- Работа с OpenCV
- Тестирование модели в PyTorch
- Измерение времени выполнения кода в Python
- Список методов и атрибутов
- Переворот строки с помощью срезов
- Логирование с Logzero
- Деление в Python
- Навыки Python: строки, типы данных
- Удаление дубликатов из списка с помощью dict.fromkeys
- ROT13 Шифр Цезаря в Python















