Курс 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
- Работа со строками в Python
- Установка и использование emoji
- Генераторные функции в Python
- Преобразование списка в словарь через генератор
- Создание списков в Python
- Присвоение значений переменным в Python
- Работа с аргументами командной строки в Python
- Асинхронное выполнение задач в Python
- Функция enumerate в Python
- Переопределение метода __eq__
- Псевдонимы в Python
- Метод Self в Python
- Подсчет количества элементов в списке
- Отладчик pdb: начало работы
- Работа с модулем Calendar
- Использование type hints
- Тест скорости набора текста на Python
- Значения по умолчанию в Python
- Установка виртуального окружения Python
- Приоритет операций в Python
- Использование функции product
- Разбиение строки в Python
- globals и locals
- Python enumerate() функции
- Генерация резюме в Gensim
- Модуль future Python
- Модуль xkcd: загрузка комиксов
- Объединение Python и Shell
- Метод округления чисел
- Контроль точности вывода чисел
- Мониторинг работы программы Py-spy
- Оператор is в Python
- Работа с атрибутом dict
- Декораторы в Python
- Создание копии списка в Python
- Расчет времени выполнения программы
- Профилирование с cProfile
- Сложение матриц в NumPy
- Метод __call__ в Python
- Операции с кортежами
- Расчет времени выполнения
- Любовь к Python
- Извлечение аудио из видео
- Функция product() в Python
- Принцип одной функции
- Экспорт данных с помощью writefile
- Импорт модулей и пакетов в Python















