Курс Python → Генераторные функции в Python
Генераторные функции (generator functions) в Python представляют собой специальный вид функций, которые позволяют создавать итераторы. Итераторы позволяют поэлементно обходить коллекции данных, не загружая все элементы в память сразу. Если у вас есть необходимость фильтровать или обрабатывать элементы списка, то использование генераторных функций может быть удобным решением.
Для определения генераторной функции в Python используется ключевое слово yield. Когда функция содержит оператор yield, она становится генераторной функцией. Вместо того чтобы возвращать результат с помощью return, генераторная функция возвращает объект-генератор, который может быть использован для итерации по значениям, генерируемым функцией по одному.
Одним из главных преимуществ использования генераторных функций является экономия памяти. Поскольку генераторы не хранят все элементы в памяти сразу, они позволяют эффективно обрабатывать большие объемы данных. Кроме того, генераторы могут улучшить читаемость кода и упростить его структуру, особенно при работе с большими коллекциями данных.
def filter_even_numbers(numbers):
for number in numbers:
if number % 2 == 0:
yield number
even_numbers = filter_even_numbers([1, 2, 3, 4, 5, 6])
for number in even_numbers:
print(number)
В приведенном примере мы создаем генераторную функцию filter_even_numbers, которая фильтрует четные числа из списка. Затем мы создаем объект-генератор even_numbers, который мы можем использовать для итерации по отфильтрованным значениям. При вызове функции print будут выведены только четные числа из списка.
Другие уроки курса "Python"
- Обработка ошибок в Python
- Python Метод del.
- Конкатенация строк в Python
- Обновление данных через PUT запрос
- Переопределение метода xor в Python
- Работа с *args и **kwargs в Python
- Принципы программирования
- Метод округления чисел
- Установка и использование pyshorteners
- Преобразование строк в числа с плавающей запятой
- Очистка строки в Python
- Множественное присваивание в Python
- Установка и использование Virtualenv
- Открытие и редактирование скриптов Python
- Функция count() в Python
- Обработка исключений в Python
- Печать календаря
- Просмотр атрибутов и методов класса
- Измерение времени выполнения
- Различия символов в Python
- Извлечение аудио из видео
- Список и кортеж в Python
- Измерение времени выполнения кода с использованием time
- Метод repr() в Python
- Методы split() и join() — Python строк.
- ROT13 Шифр Цезаря в Python
- Псевдонимы в Python
- Оператор += для объединения строк
- Показ всплывающих окон Tkinter
- Lambda Functions in Python
- Работа с YAML в Python
- Условные выражения в Python
- Функции all и any в Python
- Работа с кортежами в Python
- *args и **kwargs в Python
- Метод rename() для переименования файлов и каталогов
- Метод rsub для пользовательских чисел
- Сравнение строк в Python
- Удаление ключа из словаря
- Оператор «is not» в Python
- Работа с путями в Python
- Методы в Python
- Конвертация текстовых чисел с помощью Numerizer
- Создание списков в Python
- Python: цикл for и оператор присваивания
- Python-dateutil — работа с датами
- kwargs в Python
- Метод get() для словарей















