Junior — Middle
Spiega il meccanismo di utilizzo della parola chiave 'yield from' nei generatori Python e i suoi vantaggi
sobes.tech AI
Risposta dell'AI
Ключевое слово yield from в Python используется внутри генераторов для делегирования части генерации другому генератору или итерируемому объекту. Это позволяет упростить код и избежать написания вложенных циклов для перебора вложенных генераторов.
Преимущества yield from:
- Автоматически передаёт значения, исключения и возвращаемые значения от вложенного генератора.
- Упрощает композицию генераторов, делая код чище и понятнее.
Пример:
# Без yield from
def generator1():
for i in range(3):
yield i
def generator2():
for value in generator1():
yield value
# С yield from
def generator2():
yield from generator1()
for val in generator2():
print(val)
Здесь yield from generator1() заменяет цикл перебора значений из generator1.
Таким образом, yield from облегчает работу с вложенными генераторами и улучшает читаемость кода.