Курс 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 OrderedDict и fromkeys() — работа с словарями
- Функции в Python
- Сортировка и разворот списка
- Возвращение нескольких значений
- Создание копии списка в Python
- Разница между датами
- Переопределение метода __eq__
- Повторение элементов в Python
- Методы list в Python
- Транспонирование матрицы
- Объединение кортежей в Python
- Передача параметров в Python
- Установка и использование TensorFlow
- Retrying в Python: повторные вызовы
- Переворот строки
- Установка и загрузка Instaloader
- Вычисление натурального логарифма в NumPy
- Отслеживание прогресса с tqdm
- Создание и обучение модели с Keras
- Подсчет элементов с помощью Counter из collections
- GitHub в Telegram: подписка на уведомления
- Метод gt в Python
- Удаление файлов с shutil.os.remove()
- Объединение списков в Python.
- Операторы присваивания в Python
- Генерация ключей RSA
- Блок else в Python
- Отправка POST запроса на сервер.
- Преобразование в float
- Сортировка слиянием
- Переопределение метода __rshift__
- Разрешение имен в Python
- Импорт модулей в Python 3.12
- Параллельные вычисления в Python
- Отрицательные индексы списков
- Генератор чисел Фибоначчи
- OrderedDict — упорядоченный словарь
- Создание коллекций из генератора
- Метод rpow в Python
- Метод __irshift__ для побитового сдвига вправо
- Атрибуты массивов в Numpy
- Метод get для словарей
- Аннотации типов в Python















