Курс 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"
- Создание таблиц в терминале с PrettyTable
- Оператор распаковки в Python
- Преобразование в float
- Работа с модулем glob в Python
- Очистка вывода в Python
- Функции any() и all() в Python
- Возврат нескольких значений
- Метод invert для побитового отрицания
- Работа с комплексными числами
- Хешируемые ключи в Python
- Работа с контекстным менеджером Pool
- Логические значения в Python
- Срезы в Python
- Декоратор проверки активности
- Отладка кода
- Модуль subprocess: запуск внешних команд
- Работа с изображениями PIL
- Измерение времени выполнения с помощью time
- Сортировка с параметром key
- Раздувающийся словарь в Python
- Замена переменных в Python
- Создание вложенного генератора
- Возведение в квадрат с помощью itertools
- Повторение элементов в Python
- Очистка данных с Pandas
- Цикл for с enumerate() в Python
- Любовь к Python
- Удаление элемента по индексу
- Модуль math: константы π и e
- Открытие, чтение и закрытие файла
- Работа с пакетами
- Наиболее частотные элементы с помощью Counter
- Оператор (*) в Python
- Проверка ввода с помощью isdigit
- Импорт модуля из другого каталога
- Умножение строк и списков
- Структуры данных в Python
- Многопоточность и асинхронное программирование в Python
- Генераторы и сеты в Python
- Метод count() для списка
- Анализ текста на русском языке с помощью Pymystem3
- ChainMap избыточные ключи
- Проверка файла .py на синтаксис.
- Методы обработки строк в Python
- Метод __getitem__ в Python
- Импорт модулей и пакетов в Python















