我在閱讀PEP-3153,但我不明白它想要解決的問題是什麼。 你能解釋一下嗎?什麼是聯合函數,它如何在Python中起作用?
回答
你可以谷歌「Python協同程序」,並獲得很多好的信息。 Here is a presentation(PDF)我前段時間跑過的那段話似乎對我如何以及爲什麼很好。 source code is also available(這包括PDF,所以如果你想要兩者,只需下載它)。此演示文稿的home page已鏈接到各個源文件。
+1表示鏈接。很棒的閱讀。 – RHSeeger
你知道發電機是什麼嗎?一個函數,可以停止它的處理,以便它可以在恢復生成下一個值之前返回(「yield」)一個值。
那麼,協程(雖然PEP使用術語「cofunction」)就是這樣,除了它不需要產生任何東西,它可以轉換到另一個協程(在語言中是「cocall」的PEP)。這種功能有各種各樣的用途,比如能夠構建本質上屬於你自己的輕量級協作線程工具(我已經看到一些漂亮的模板庫也是這樣做的),儘管這樣做可以特別有用在從coroutines調用的函數之間進行轉換。
請注意,有沒有需要協同程序。你總是可以用不同的方式編寫代碼,沒有它們。這樣做有時要複雜得多(因爲需要更明確的狀態管理)。
該函數的建議只是清理了蟒蛇現有的協同工具,最先知道的是基於發生器(與canonical presentation鏈接)。 PEP確實解釋了motivations:使錯誤消息更加明確,避免了由於yield關鍵字的存在而確定函數是否爲生成器的混亂情況,並且使協調之間更容易委派。
- 1. python中的surface.blit()函數是什麼?它有什麼作用?怎麼運行的?
- 2. this.setState不是它爲什麼不起作用的函數?
- 3. 函數中的兩個參數是什麼?它如何工作?
- 4. 這是什麼,以及什麼vimscript函數與它相關聯?
- 5. 什麼是內聯函數?
- 6. 它爲什麼在PHP中起作用?
- 7. 什麼是聯合所有關於?爲什麼guice使用它?
- 8. 什麼是.xts構造函數/它是如何工作的?
- 9. 使用結構的C函數,爲什麼它不起作用?
- 10. 內聯函數何時不起作用?
- 11. 什麼是__future__在Python中用於和如何/何時使用它,以及它是如何工作的
- 12. 這個函數做什麼(它是如何工作的)?
- 13. image.onload函數 - 爲什麼它不起作用?
- 14. JS OOP。繼承和apply()函數。爲什麼它不起作用?
- 15. nodejs函數提升:爲什麼它不起作用?
- 16. 函數不起作用 - 爲什麼?
- 17. 爲什麼setText()函數不起作用?
- 18. 爲什麼__getattr__函數不起作用?
- 19. 爲什麼click()函數不起作用?
- 20. 爲什麼getElementById函數不起作用?
- 21. 爲什麼seekg函數不起作用?
- 22. 爲什麼printer_list函數不起作用
- 23. 爲什麼SendMessage()函數不起作用?
- 24. .index()函數爲什麼不起作用?
- 25. 爲什麼VLOOKUP函數不起作用
- 26. QueryString函數......它有什麼作用?
- 27. Node.js「on」函數 - 它有什麼作用?
- 28. 它有什麼作用? ; jQuery.ui || (函數($){
- 29. 拆箱如何在C++中起作用?爲什麼它不是遞歸的?
- 30. 什麼是jScrollPane-1.2.3.min.js,它爲什麼不起作用?
你並不孤單。我也不明白。 – delnan