Курс 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"
- Профилирование данных с Pandas
- Вызов функций по строке в Python.
- Транспонирование матрицы в Python
- Участие в сообществе @selectel
- Применение функции map() в Python
- Наиболее частотные элементы с помощью Counter
- Принципы SRP и OCP
- Управление IP-адресами через прокси
- Объединение объектов в Python
- Настройка логгера Logzero
- Установка пакета в Python
- Отрицательные индексы списков
- Парсинг статей с Newspaper3k
- Работа с timedelta
- GitHub в Telegram: подписка на уведомления
- Генераторы списков
- Определение основы слова с showballstemmer
- Создание Telegram-бота на Python
- Форматирование кода на Python
- Форматирование строк в Python
- Преобразование регистра символов
- Работа с буфером обмена на Python
- Лямбда-функции в Python
- Извлечение аудио из видео
- Асинхронный код в Python
- Обработка исключений в Python 3
- Разбиение текста в Python
- Логирование с Logzero
- Добавление кнопки в tkinter
- Оператор Walrus в Python 3.8
- Операторы присваивания в Python
- Функция reversed() в Python
- Функции с дополнением
- Моржовый оператор в Python 3.8
- Методы Python для работы с данными
- lru_cache оптимизация функций
- Принципы программирования
- Определение объема памяти объекта
- Howdoi — получение ответов из терминала
- Работа с итераторами в Python
- Расчет времени выполнения кода
- Замена символов в Python
- Безопасный доступ к значениям словаря















