← Назад
Инструкция возврата результата из функции-генератора с сохранением состояния ее локальных переменных.
При повторном вызове такой функции выполнение, в отличие от инструкции return
, продолжается с ключевого слова yield
,
на котором ее работа была прервана ранее.
def yieldStatement():
yield 'Statement 1'
yield 'Statement 2'
yield 'Statement 3'
statements = yieldStatement()
for s in statements:
print(s)
# Statement 1
# Statement 2
# Statement 3
Генератор используется, когда нам нужно прочитать огромное количество значений и это помогает сэкономить память.
def multiplyByFive(*kwargs):
for i in kwargs:
yield i * 5
a = multiplyByFive(4, 5, 6, 8)
print(a) # <generator object multiplyByFive at 0x02CF7090>
for i in a:
print(i)
# 20
# 25
# 30
# 40
← Назад