Курс 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"
- Преобразование строк в числа с плавающей запятой
- Функция enumerate в Python
- Замена символов в Python
- Копирование в Python
- Управление сессиями в Python
- Инвертирование словаря
- Сохранение Unicode в JSON
- Удаление знаков препинания в Python
- Необязательные аргументы в Python
- Оптимизация поиска в словарях
- Создание словарей и множеств в Python
- Умножение строк и списков
- Генераторы в Python
- Замена переменных в Python
- Методы HTTP запросов в Flask
- Обратный список чисел
- Регулярные выражения в Python
- Логирование с Loguru
- Создание копии списка в Python
- Переопределение метода __pow__
- Оператор == в Python
- Тип данных TypeVarTuple
- Форматирование строк в Python
- Множества и frozenset
- Howdoi — получение ответов из терминала
- Python Тесты и Гайды
- Открытие и запись файлов
- Декодирование строк в Python
- Множественное назначение в Python
- Изменение объектов в Python
- Проверка типов с помощью isinstance
- Правила именования переменных
- Удаление файлов и папок в Python
- Python: библиотеки и функции
- Глобальные переменные в Python
- Оператор морж в Python 3.8
- Поиск самого длинного слова в списке с использованием max()
- Удаление элементов из списка в Python
- Объединение, распаковка и деструктуризация
- Получение списка кортежей из словаря
- Сортировка слиянием
- Функции высшего порядка в Python
- Метод __irshift__ для Python
- Методы __repr__ и __str__ в Python
- Форматирование строк в Python
- Синхронизация потоков с time.sleep()















