Курс Python → Генераторы в Python
Генераторы в Python — это специальный тип функций, которые вместо ключевого слова return используют ключевое слово yield. Когда функция с ключевым словом yield вызывается, она возвращает объект-генератор, который можно использовать для итерации по последовательности значений, возвращаемых функцией.
Первый способ создания генератора — это использование генераторных выражений. Генераторное выражение похоже на списковое включение, но вместо квадратных скобок используются круглые скобки. Например, можно создать генератор, который будет возвращать квадраты чисел от 1 до 10 следующим образом:
gen = (x**2 for x in range(1, 11))
for num in gen:
print(num)
Второй способ создания генератора — это создание функции, которая содержит ключевое слово yield. Например, можно создать генератор, который будет возвращать числа Фибоначчи:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib_gen = fibonacci()
for num in fib_gen:
if num > 1000:
break
print(num)
Генераторы в Python могут быть очень полезны для работы с большими объемами данных, так как они позволяют эффективно обрабатывать элементы последовательностей без необходимости хранить все значения в памяти. Использование генераторов помогает сэкономить память и ускорить выполнение программы.
Другие уроки курса "Python"
- Python: Splat-оператор и splatty-splat
- Объединение словарей в Python
- Чтение бинарного файла в Python.
- Анализ кода — Python
- Удаление элементов из списка в Python
- Перевод текста с Python Translator
- Установка Git и AWS CLI
- Измерение времени выполнения кода с использованием time
- Метод join для наборов
- Генераторы данных
- Метод rename() для переименования файлов и каталогов
- Функция zip() в Python
- Принцип одной функции
- Переворот строки с использованием цикла
- Вакансии в Nebius
- lru_cache оптимизация функций
- Измерение времени выполнения кода
- Создание списков в Python
- Функции в Python: создание и вызов
- Определение имен функций
- Оператор обр. импликации
- Работа с датой и временем в Python
- Подписка на @SelectelNews
- Работа с геоданными с помощью geopy
- Преобразование списка в словарь через генератор
- Использование обратной косой черты в f-строках
- Лямбда-функции в цикле
- Моржовый оператор в Python 3.8
- split() без разделителя
- Python enumerate() функции
- Создание словарей и множеств в Python.
- Конкатенация строк с помощью join()
- Работа со слайсами
- Кортежи в Python: особенности и преимущества
- Многопоточность в Python
- Метод rlshift для битового сдвига
- Лямбда-функции для min/max
- Преобразование данных в Python
- Непрерывная проверка в Python
- Получение текущей даты в Python
- Преобразование типов данных в set comprehension
- Проверка запуска скрипта или импорта модуля
- Создание GUI на Tkinter
- Удаление файлов и папок в Python
- Просмотр внешнего файла в Python
- Работа с Requests для HTTP-запросов















