Курс 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"
- lru_cache оптимизация функций
- Поиск индексов в списке
- Ускоренный импорт библиотек
- Метод radd для пользовательских чисел
- Вычисление логарифмов в Python
- Работа с файлами в Python
- Функции в Python: создание и вызов
- Проверка памяти объекта
- Очистка входных данных
- Оператор is в Python
- Основы слова
- Очистка данных в Python
- Принципы LSP и ISP в Python
- Работа с кортежами
- Запуск внешнего кода в Jupyter
- Создание и операции с дробями
- Хранение данных с помощью dataclasses
- Параллельные вычисления в Python
- Функция enumerate() — Python
- Списковые включения в Python
- Методы сравнения множеств
- Удаление первого элемента списка
- Обратное распространение ошибки
- Просмотр атрибутов и методов класса
- Метод join для объединения строк
- Срезы в Python
- Создание класса очереди
- Конкатенация строковых литералов
- Работа со словарями
- Метод get для словарей
- Особенности ключей словаря в Python
- Метод title() в Python
- Работа с модулем os в Python
- Анализ текста на русском языке с помощью Pymystem3
- Игра «Камень, ножницы, бумага» — Python
- Автоматизация действий с Pyautogui
- Замена переменных в Python
- Манипуляция формой массива в Numpy
- Оператор Walrus в Python
- Проверка наличия элемента в списке
- Преобразование символов в нижний регистр
- Использование super() в Python
- Вывод букв строки в Python
- Разработка игры Pong с turtle
- Переопределение метода __pow__















