Разница между `yield from foo ()` и `for x в foo (): yield x`
В Python большинство примеров выходов из объясняют это словами:
yield from foo()
похож на
for x in foo(): yield x
С другой стороны, кажется, что это не совсем то же самое, и в них заложена какая-то магия. Мне немного неловко использовать функцию, которая делает магию, которую я не понимаю. Что я должен знать о магииyield from
чтобы избежать попадания в ситуацию, когда магия делает то, чего я не ожидаю? Какие преимущества дает магия, о которых я должен знать?