Yield на Python – это ключевое слово, которое используется для создания генераторов. Генераторы – это функции, которые возвращают последовательность значений, по одному за раз. Они позволяют вам итерироваться по большим последовательностям данных без необходимости загрузки их в память.
Yield позволяет функции возвращать значение и приостанавливать свое выполнение до тех пор, пока она не будет вызвана снова. Это позволяет создавать генераторы, которые могут возвращать значения по одному за раз.
Давайте рассмотрим пример кода для иллюстрации работы yield на Python:
def my_generator():
n = 1
print('This is printed first')
# Generator function contains yield statements
yield n
n += 1
print('This is printed second')
yield n
n += 1
print('This is printed at last')
yield n
# Using for loop
for item in my_generator():
print(item)
# Вывод:
# This is printed first
# 1
# This is printed second
# 2
# This is printed at last
# 3
В этом примере мы создали функцию my_generator(), которая возвращает значения по одному за раз. Она содержит два выражения yield, которые возвращают значения по одному за раз. Затем мы использовали цикл for для итерации по генератору и вывода значений.
В заключение, yield на Python позволяет создавать генераторы, которые возвращают значения по одному за раз. Они позволяют итерироваться по большим последовательностям данных без необходимости загрузки их в память.