Курс 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"
- Сумма элементов списка
- Основные операции с Numpy
- Курс по дообучению ChatGPT
- Деление в Python
- Метод difference_update() — разность множеств
- Разработка игры Pong с turtle
- Импорт в Python: список all
- Настройка Cron
- Преобразование символов в нижний регистр
- Библиотека wikipedia для Python
- Список методов и атрибутов
- Решение переменной Шредингера
- Работа с модулем bisect
- Вычисление натурального логарифма в NumPy
- Создание списка через итерацию
- Кортеж в Python: создание, доступ, изменение
- Преобразование данных в Python
- Python OrderedDict и fromkeys() — работа с словарями
- Использование defaultdict в Python
- Объявление переменных в Python
- Работа с файлами в Python
- Monkey Patching в Python
- Python: динамическая типизация и проверка типов
- Метод join() для объединения строк
- Python: Фильтрация списков с помощью filter()
- Создание функций высшего порядка
- Прокачанный трейсинг ошибок
- Python Поверхностное Копирование
- Структуры данных в Python
- Поиск уникальных элементов строкой в Python
- Импорт с альтернативным именем
- Работа с эмодзи в Python
- Метод classmethod
- Генераторы списков в Python
- Работа с CSV файлами
- Поиск подстроки в строке
- Исключение NotImplementedError
- Работа с комплексными числами
- Метод ifloordiv для пользовательских классов
- Функция format() в Python
- Retrying в Python: повторные вызовы
- Многопоточность и асинхронное программирование в Python
- Работа с Requests для HTTP-запросов
- Подписка на @SelectelNews
- Ключевое слово global в Python
- Установка и загрузка Instaloader















