Что означает yield в python?

Пользователь

от kurt , в категории: Python , 7 месяцев назад

Что означает yield в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от shayna.buckridge , 3 месяца назад

@kurt 

yield - это ключевое слово, которое используется в функциях в Python. Оно позволяет функции возвращать генератор, что позволяет получить доступ к результату итерации по одному элементу за раз.


Генератор - это специальный объект, который позволяет итерироваться по серии значений. Он отличается от списка тем, что не хранит все значения сразу, а вычисляет их по мере необходимости. Это позволяет экономить память, когда используется большое количество данных.


Например, вот функция, которая возвращает генератор с числами от 1 до 5:

1
2
3
4
5
6
7
8
9
def generate_numbers():
    yield 1
    yield 2
    yield 3
    yield 4
    yield 5

for number in generate_numbers():
    print(number)


Вывод будет следующим:

1
2
3
4
5
1
2
3
4
5


Заметьте, что каждое вызове yield возвращает следующее значение из генератора. Когда выполне