Курс 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
- Принципы программирования
- Измерение времени выполнения кода
- Работа с изображениями Pillow
- Оформление текста в консоли с TermColor
- Расчет времени выполнения
- Преобразование объекта в строку
- Преобразование строки в число
- Псевдонимы в Python
- Копирование и вставка текста в Python
- Нахождение максимального значения и его индекса в списке
- Установка и обучение ChatterBot
- Магические методы в Python
- Курс по дообучению ChatGPT
- Python: динамическая типизация и проверка типов
- Получение идентификатора объекта в памяти
- Функция count() в Python
- Взаимодействие с внешними процессами в Python
- Оператор += для объединения строк
- Вычисление натуральных логарифмов в NumPy
- Вложенные циклы в Python
- Извлечение чисел из текста
- Декоратор total_ordering для сравнения объектов
- Функция zip() в Python
- Операции с числами в Python
- 9 уловок для чистого кода
- Установка библиотек в Python
- Итераторы с потерямиZIP
- Разделение строки на пары ключ-значение.
- Многострочные комментарии в Python
- Разработка игры Pong с turtle
- Равенство и идентичность в Python
- Работа с многоуровневыми словарями в Python
- Обработка элементов в Python
- Упрощение работы с JSON-данными в Python
- Экспорт внешнего файла с помощью writefile
- Разработка Telegram-ботов
- Капитализация строк
- Сравнение неупорядоченных списков
- Проверка типа объекта в Python
- Инициализация переменных
- Функция findall() для поиска вхождений строки
- Фильтрация входных данных в Python
- Проверка элементов списка условием
- Переменная Шредингера
- Работа с изображениями PIL
- Преобразование строк в числа с плавающей запятой















