1
A
回答
3
這在PEP 492其中引入async
/await
的理由陳述和禁止使用的yield
內它們:
電流Python支持經由發電機(PEP 342)中,由產率進一步提高執行協程從PEP 380 介紹語法這種方法有很多缺點:
很容易混淆coroutin因爲它們的 共享相同的語法;新開發人員尤其如此。
與否的功能是通過從在其主體的語句,當這樣的語句出現在或重構期間從 功能體消失這可導致 不明顯錯誤收率或產率的存在 確定的協程。
對異步調用的支持是 限於允許語法上允許產出的表達式,限制 語法功能(如with和for語句)的用處。
這僅適用在Python 3.5
在Python 3.6,PEP 525走過來解除與異步發電機的禁令。現在在異步def函數內部使用yield
會導致創建異步生成器。
相關問題
- 1. python def有可能包含「yield」和「return」兩個參數嗎?
- 2. 函數不包含,爲什麼?
- 3. 爲什麼在包含yield return的函數中重複使用(){}塊?
- 4. 在C#中,爲什麼匿名方法不能包含yield語句?
- 5. vtable爲什麼不能包含重複的函數?
- 6. 爲什麼我不能提交包含函數fgets()的文本?
- 7. PHP爲什麼EOM不能包含PHP函數?
- 8. 什麼是def to_s函數?
- 9. 爲什麼我不能包含博客?
- 10. 這個網頁爲什麼/如何不包含任何javascript?
- 11. 爲什麼我的函數不能返回任何東西?
- 12. 爲什麼使用filter()而不是'常用'def函數?
- 13. 爲什麼我會得到「序列不包含任何元素」?
- 14. 函數中def的用法是什麼?
- 15. 爲什麼JavaScript不包含include,require或import函數?
- 16. 爲什麼包含Console.ReadLine()的函數不完整?
- 17. ASP.NET 4 URL限制:爲什麼URL不能包含任何%3F字符
- 18. 爲什麼__setattr__的「name」參數包含類,但__getattr__不包含?
- 19. 爲什麼我的包含函數不能獲取全局變量值?
- 20. Kotlin:密封類不能「包含」數據類?爲什麼?
- 21. 爲什麼clojure協議方法經常被函數包裝?
- 22. 爲什麼Android應用程序的鍵盤鎖不包含任何組件?
- 23. 在協程式JavaScript函數中避免「yield」重複
- 24. arg在ASM函數中包含什麼?
- 25. 包含並不包含任何東西
- 26. 異步def和協程,什麼是鏈接
- 27. 爲什麼我不能在glibc中調用任意函數
- 28. 爲什麼async()在Jest測試中轉換爲異步函數()?
- 29. 爲什麼中斷服務程序不能包含大多數系統調用
- 30. 包含標籤和包含函數有什麼區別?
謝謝。在'async def'函數中使用'yield'是否導致協程?協程的定義是什麼? – Tim
協程是一個函數,可以產生值並可以在調用者執行期間接受值。 –