所以,這裏是一個Python表達式:表達式「a = f()的產出」是什麼意思?
a = yield from f()
是什麼意思?它可以在哪裏使用? f
應該是什麼樣的對象?表達式評估後a
的值是多少?
這裏有幾個問題上的計算器了Python的yield
和yield from
,但我沒有找到一個答案。
我明白了yield x
,y = yield
和y = yield x
的含義。即使yield from f()
或多或少都可以理解。但a = yield from f()
是我意想不到的。
UPDATE:
B.巴比提供正確的答案。儘管如此,我仍然需要以不同的方式來闡述它。
語義表達a = yield from f()
的是非常相似的一個函數調用:的a
值會是什麼f()
回報。但是,如果f()
產生任何東西,所產生的值將被轉發到「上一級」(您只能在函數內寫入a = yield from f()
,這將使您運行一個生成器)。如果在此之後「上一級」將值發回給您的發電機,則該值將被轉發至f()
並且f()
將繼續。
yield from
允許f()
和「上層」在您的函數運行時進行通信。
我想現在我明白這個yield from
是什麼,希望這個解釋對別人有幫助。