Курс 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
- Управление импортом в Python
- Создание Radio кнопок в tkinter
- Работа с индексами списков
- Подсказки при вводе данных в Python
- Сортировка с помощью key
- Условное добавление элементов в список
- Обмен значений переменных в Python
- Применение функции к каждому элементу списка
- Удаление ссылок в Python
- Создание и операции с дробями
- Просмотр файла в Jupyter Noteboo
- Удаление эмодзи с помощью pandas
- Оператор is в Python
- Функции в Python
- Итерация по копии коллекции
- Метод Self в Python
- Отступы в Python
- Метод __irshift__ для Python
- Отрицательные индексы списков в Python
- Очистка списка от False, None, 0, «»
- Разделение строки на пары ключ-значение.
- Оптимизация поиска в словарях
- Сумма элементов списка
- Метод get для словаря
- Ограничение ресурсов в Python
- Установка и использование модуля «howdoi»
- Преобразование range в итератор
- Отправка POST-запроса в REST API
- Операторы объединения в Python 3.9
- Метод __int__ в Python
- Оптимизация интернирования строк
- Работа с enumerate()
- Аннотации типов в Python
- Оптимизация создания строк
- Оператор Walrus в Python
- Форматирование строк в Python
- Объединение списков в Python.
- Многопоточность и асинхронное программирование в Python
- Переворот строки
- Атрибуты класса и экземпляра в Python
- Использование type hints
- Операторы присваивания в Python
- Исключение NotImplementedError
- Получение обратного списка чисел
- Печать в одной строке















