Курс 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"
- Функциональное программирование.
- Модуль itertools: комбинации и перестановки
- Удаление URL-адресов в Python
- Объединение словарей в Python
- Введение в Python
- Преобразование чисел в восьмеричную строку
- Numpy: использование Ellipsis
- Переопределение метода __floordiv__
- Подписка на SelectelNews в Twitter
- Создание новых списков в Python
- Генераторы списков в Python
- Добавление вложенных списков
- Генерация случайных чисел в Python
- Разделение функций на этапы
- Генераторы в Python
- Красивый вывод списка
- Удаление элемента из списка в Python
- Работа с изображениями Pillow
- Оптимизация сравнения в Python
- Дизассемблирование Python кода
- Переворот последовательности
- Pretty-printing JSON в Python
- Установка пакета в Python
- Операторы += в Python
- Справка по импортированным модулям
- Переворот строки с использованием цикла
- Регистрация на курсы SF Education
- Основы слова
- Удаление файлов и папок в Python
- Python Тесты и Гайды
- Установка Git и AWS CLI
- Управление асинхронными задачами на Python.
- Работа с модулем random
- Работа со словарями
- Подсчет элементов с помощью Counter из collections
- Генераторы данных
- Объединение списков в Python.
- Принципы Zen Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Измерение потребления памяти при сортировке
- Сериализация объектов в Python
- Функции min(), max(), sum()
- Переопределение унарных операторов
- Метод setdefault() в Python
- Декоратор Ajax required















