Курс 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"
- Декоратор @override
- Множественное присваивание в Python
- Округление в Python
- Декораторы в Python
- Область видимости переменных в Python
- Объединение списков в Python
- Оператор break в Python
- Преобразование чисел в восьмеричную строку
- ROT13 Шифр Цезаря в Python
- Установка и использование TensorFlow
- Форматирование строк в Python
- Переменные в Python
- Экспорт функций в Python
- Метод сравнения объектов в Python
- Работа с argparse
- Функция zip() в Python
- ChainMap.new_child() — добавление нового словаря
- Создание Radio кнопок в tkinter
- Функции в Python
- Установка переменной среды в Python
- Изменение списка срезом
- Генераторы списков
- Измерение времени выполнения с помощью time
- discard() — удаление элемента из множества
- Декоратор Property в Python
- Объединение кортежей в Python
- Работа с исключениями в Python
- Эффективная конкатенация строк с использованием join()
- Enum в Python: создание и использование перечислений
- Установка максимального количества цифр
- Конвертация коллекций в Python
- Роль object и type в Python
- Поиск уникальных и повторяющихся элементов
- Обмен переменными в Jupyter
- Создание OrderedDict
- Определение основы слова с showballstemmer
- Декораторы в Python
- Обмен данными с asyncio.Queue
- Оператор += в Python
- Создание комплексных чисел
- Получение комбинаций в Python
- Реализация метода __abs__ в Python
- Область видимости переменных
- Функция all() в Python
- Ускорение обработки данных с %autoawait















