Курс 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"
- Удаление элементов из списка в Python
- Defaultdict в Python
- Python reversed() vs срез[::-1]
- Множества и frozenset
- Преобразование кортежа в словарь.
- Поиск шаблона в строке
- Разбиение строки в Python
- %pinfo: получение информации об объекте
- Создание и использование модулей в Python
- Закрытие файла в Python
- Конструктор в Python
- Python enumerate() для работы с индексами
- Функция enumerate() в Python
- Удаление элементов из списка в Python
- Вакансии в Nebius
- Принципы Zen Python
- Форматирование кода на Python
- Установка User-Agent в Python
- Вывод букв строки в Python
- Профилирование данных с Pandas
- Выбор редактора кода.
- Метод join() для объединения элементов строки
- Декораторы в Python
- Делегирование в Python
- Создание и использование ChainMap
- Капитализация строк
- Логирование с Logzero
- Удаление ссылок в Python
- Срезы в Numpy
- Метод __imod__ для Python
- Декоратор Ajax required
- Обработка элементов в Python
- Работа с CSV файлами в Python
- Работа с комплексными числами
- Magic Commands — улучшение работы с Python
- Присоединение элементов коллекции
- Поиск email
- Структурирование именованных констант
- Присвоение значений переменным в Python
- Измерение времени выполнения
- Определение индекса элемента списка
- Операция += для списков
- Возврат значений из генератора
- Вывод сложных структур данных с помощью pprint
- Генераторы списков в Python
- Изменение списка срезами
- Работа с многоуровневыми словарями в Python
- Работа со стеком в Python















