Курс 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"
- Combobox в Tkinter
- Атрибуты объекта в Python
- Удаление ссылок в Python
- Методы __repr__ и __str__ в Python
- Оператор (*) в Python
- Concrete Paths — метод .with_suffix()
- Дефолтные параметры в Python
- Список и кортеж в Python
- Оператор in для проверки наличия элемента
- Сортировка HTML по CSS-селектору
- Работа с множествами в Python
- Функции map() и reduce() в Python
- Удаление специальных символов с помощью re.sub
- Оператор морж в Python 3.8
- Создание пар из последовательностей
- Numpy: разбиение массивов
- Мощь вложенных функций в Python
- Вставка переменных в шаблоны Flask
- Работа с collections.Counter
- Изменение логики работы с временем
- Преобразование списка в словарь через генератор
- Декодирование байтов в строку
- Реверс строки и списка в Python.
- Оптимизация параметров в Python
- Тестирование функции сложения
- Python union() функция — объединение множеств
- Обработка исключений в Python
- Основные операции с библиотекой Numpy
- Использование defaultdict в Python
- Оператор обр. импликации
- Запуск файлового сервера
- Инициализация структур данных
- Создание и удаление объектов
- Копирование объектов в Python
- Рациональные числа в Python
- Перезагрузка оператора в Python
- Генераторы словарей и множеств
- Множественное назначение в Python
- Измерение времени выполнения с помощью time
- Работа с переменными в Python
- Функция count() в Python
- Работа с итераторами в Python
- Новшества Flask 2.0
- Удаление дубликатов из списка
- Отслеживание выполнения программы с библиотекой tqdm
- Измерение времени выполнения кода с использованием time















