Курс 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"
- Запуск внешнего кода в Jupyter
- Работа с итераторами в Python
- Создание спинбокса в tkinter
- Фильтрация элементов с помощью islice
- Комментарии в Python
- Лямбда-функции в Python
- Работа с itertools
- Работа с аргументами командной строки
- Преобразование Word в PDF с Spire.Doc
- Функция format() в Python
- Работа со строками в Python.
- Конкатенация строк в Python
- Подробная информация о %pinfo
- Библиотека sh: использование команд bash в Python
- Работа с deque в Python
- Оператор @ для умножения матриц
- Печать месячного календаря
- Переопределение метода xor в Python
- Управление IP-адресами через прокси
- Метод join() для объединения элементов в строку.
- Работа с переменными в Python
- Сравнение объектов в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Извлечение аудио из видео
- Управление памятью в numpy.
- Проверка строки на палиндром
- Реализация операции -= для пользовательского класса
- Метод count() для списков
- kwargs в Python
- Сумма элементов списка
- Печать комбинаций в Python с Itertools
- Исключение NotImplementedError
- Создание даты из строки ISO
- Проверка списка: any() и all()
- Многопоточность в Python
- Ограничение итераций в Python
- Операторы увеличения и уменьшения в Python
- Библиотека funcy: удобные утилиты
- Оператор «моржа» (Walrus Operator)
- Работа со строками в Python
- Работа с буфером обмена на Python
- Python Метод del.
- Разница между датами
- Вставка переменных в шаблоны Flask
- Уникальность ключей в словаре
- Проверка переменных окружения в Python
- Обработка ошибок в Python
- Удаление falsy-значений из списка с помощью filter















