Курс 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"
- Удаление ключей из словаря
- Метод split() в Python
- Измерение времени выполнения с помощью time
- Установка виртуального окружения Python
- Разделение строки с помощью re.split()
- Создание копии итератора
- Метод join() для объединения элементов
- Вычисление натуральных логарифмов в NumPy
- Создание уникального проекта
- Дизассемблирование Python кода
- Псевдонимы в Python
- Избегание циклических зависимостей классов в Python
- Декораторы в Python
- Декораторы в Python
- Создание коллекций из генератора
- Генерация UUID в Python
- Генераторы словарей и множеств
- Функция enumerate() — Python
- Установка пакетов с помощью pip
- Хэш-функции и метод цепочек
- Работа с асинхронными задачами в Python
- Оператор «is not» в Python
- Подсказки типов в Python
- Фильтрация последовательности
- Python Enum Weekday Usage
- Особенности ключей словаря в Python
- Атрибуты класса и экземпляра
- Solidity для DeFi Ethereum
- Аннотации типов в Python
- Применение функции к списку
- Участие в LP стейкинге Waves
- Работа с часовыми поясами в Python.
- Работа со слайсами
- Переменные в Python
- Деление в Python
- Изменение регистра данных
- Форматирование данных с помощью pprint
- Извлечение данных из JSON
- Отладка производительности Python
- Уникальные значения из списка
- Разделение строки с регулярными выражениями
- Путь к интерпретатору Python
- Оператор «not» в Python
- Работа с атрибутом dict















