Курс 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"
- Функция count() в Python
- IPython и Jupyter Notebook: руководство
- Поток данных в Python
- Установка переменной среды в Python
- Сравнение неупорядоченных списков
- Ветвление выражения в Python
- Декоратор Ajax required
- Конкатенация строковых литералов
- Переопределение метода __or__()
- Локальные переменные.
- Работа со словарями в Python
- Цепные операции в Python
- Метод join для наборов
- Генераторы в Python
- Оператор == в Python
- Визуализация пропусков данных
- Генераторы в Python
- Получение текущего времени в Python
- Отделение звука от видео
- Цикл for в Python
- Печать комбинаций в Python с Itertools
- Создание namedtuple списком полей
- Обработка исключений в Python
- Создание матрицы в Python
- Управление контекстом выполнения кода
- Переворот строки с использованием цикла
- Модуль inspect: получение информации о объектах
- Бесконечная проверка в Python
- Упрощение работы с JSON-данными в Python
- Python 3.12: Псевдонимы типов
- Нахождение разницы между списками в Python
- Реверс строки в Python
- Перегрузка операторов в Python
- Вывод с переменной через запятую
- Разделение строки в Python
- Философия Python
- Функция print() — вывод информации
- Сортировка HTML-элементов
- Проверка дубликатов в Python
- Многопоточность в Python
- Работа с модулем cmath
- Многострочные комментарии в Python
- Декораторы в Python
- Поиск анаграмм с Counter
- Изменение регистра данных
- Добавление цвета в консоли















