Функция содержит yield
- генератор.
Когда вы вызываете gen = double_inputs()
, вы получаете в результате экземпляр генератора. Вам нужно использовать этот генератор, позвонив next
.
Итак, для вашего первого вопроса это правда. Он запускает строки 1, 2, 3, когда вы впервые звоните next
.
Что касается вашего второго вопроса, я не совсем понимаю вашу точку зрения. Когда вы определяете функцию, Python знает, что вы определяете, ему не нужно смотреть вперед при запуске.
Для вашего третьего вопроса ключом является yield
ключевое слово.