Junior — Middle
Expliquez le mécanisme d'utilisation du mot-clé 'yield from' dans les générateurs Python et ses avantages
sobes.tech IA
Réponse de l'IA
Ключевое слово 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 облегчает работу с вложенными генераторами и улучшает читаемость кода.