Курс 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"
- Модуль Operator в Python
- Работа с argparse
- Синтаксис переменных цикла в Python
- Возврат нескольких значений из функции
- Анонимные функции в Python
- Оператор is в Python
- Область видимости переменных
- Удаление специальных символов с помощью re.sub
- Цикл while в Python
- Функции all и any в Python
- Просмотр внешнего файла в Python
- Профилирование с Pandas
- Работа с модулем random
- Определение объема памяти объекта
- Сортировка с помощью key
- Ограничение итераций в Python
- Генерация строк с .join()
- Функция sleep() в Python
- Библиотека Rich: форматирование текста
- Непрерывная проверка в Python
- Функции в одну строку
- Условные выражения в Python
- Инициализация объекта
- Вывод букв строки в Python
- Кортеж в Python: создание и использование
- Отправка POST запроса на сервер.
- Ускорение кода с помощью векторизации
- Функция map() в Python
- Декораторы в Python
- Модуль pprint
- Ошибка NotImplemented в Python
- Добавление кнопки в tkinter
- Операторы увеличения и уменьшения переменной
- Функция zip() для объединения списков
- Обработка аргументов Python
- Срез списка в Python
- Генерация случайных данных в NumPy
- Объединение словарей в Python
- Списковый компрехеншен.
- Метод Event.wait() в Python
- Проверка типов с помощью isinstance
- Метод __ilshift__ для битового сдвига влево
- Сортировка списка по индексам
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Оператор морж в Python 3.8
- Участие в LP стейкинге Waves
- Работа со строками в Python















