Курс 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.
- Округление банкира в Python
- Генератор бросков кубиков
- Обработка ошибок в Python
- Тернарный оператор в Python
- Модуль inspect: получение информации о объектах
- Получение идентификатора объекта в памяти
- Функция enumerate() в Python
- Подсчет элементов в Python
- Поток данных в Python
- Метод init в Python
- Срезы в Python
- Enum в Python: создание и использование перечислений
- Модуль sys: основы
- Введение в Python
- Отрицательные индексы списков
- Просмотр файла в Jupyter Noteboo
- Модуль os: работа с файлами и папками
- Преобразование в float
- Метод join() для объединения строк
- Функция print() — вывод информации
- Поиск файлов по шаблону
- Списковое включение в Python
- Создание графики с черепахой
- Инверсия списков и строк в Python
- Потоковый ввод в Python
- Работа с Path в Python
- Декоратор Property в Python
- Просмотр внешних файлов в %pycat
- Создание веб-приложения с Flask
- Определение объема памяти объекта
- Получение списка файлов в директории с использованием os
- Обработка ошибок ввода данных
- Метод Event.wait() в Python
- Метод join для наборов
- Копирование файлов с shutil()
- Декодирование байтов в строку
- Конкатенация строковых литералов
- Добавление элемента к кортежу
- Получение обратного списка чисел
- Оператор @ для умножения матриц
- Справка по импортированным модулям
- Проверка подстроки в строке с помощью in
- Retrying в Python: повторные вызовы















