Разница между `yield from foo ()` и `for x в foo (): yield x`

В Python большинство примеров выходов из объясняют это словами:

yield from foo()

похож на

for x in foo(): yield x

С другой стороны, кажется, что это не совсем то же самое, и в них заложена какая-то магия. Мне немного неловко использовать функцию, которая делает магию, которую я не понимаю. Что я должен знать о магииyield from чтобы избежать попадания в ситуацию, когда магия делает то, чего я не ожидаю? Какие преимущества дает магия, о которых я должен знать?

Ответы на вопрос(1)

Ваш ответ на вопрос