python关键字yieldyield

北京哪些手足癣医院好 https://m-mip.39.net/czk/mipso_8833710.html

python有个关键字yield经常会用到,但是有些点你可能没有注意到。今天我就来给大家梳理下。yield的用法,避免大家在以后的使用中产生迷惑。

介绍

yield:用于定义生成器,返回单值。如果想一直返回生成器数据,则需要自己去定义循环返回。另外,还可以跟send函数一起使用,在单线程中相互切换,多任务协调并发处理任务。

yieldfrom:后接列表、生成器、协程。与asyncio.coroutine同时使用,定义协程函数。在python3.5以后改成了await。当yieldfrom后面是IO耗时操作的时候,会切换至另一个yieldfrom。

yield用法

yieldfrom用法

与await等效用法

输出结果:

task_name:task1start……

task_name:task2start……

task_name:task2cost:1

task_name:task2finish……

task_name:task1cost:2

task_name:task1finish……

yield、yieldfrom的用法有时候很具有迷惑性,一不注意就可能出现混乱。漫漫技术之路,要时常总结,基础不牢,后面的学习也可能磕磕绊绊。如果小伙伴们有什么想了解的,可以在评论区添加。谢谢大家!




转载请注明:http://www.aierlanlan.com/rzgz/4650.html