yield在python,python中的yield语句是如何工作的
首先,如果你对收益率一无所知,请先把收益率想成“回报”。这个很直观,所以首先,回归。你说的普通退货是什么意思?在程序中返回某个值。返回后,程序不会进行下一步。把它看做return之后,再把它看做生成器的一部分(带yield的函数才是真正的迭代器)。如果不知道这一点,先把收益率看做回报。然后deffoo (:print)启动。(while true: res=yield4print) res:),RES) g=foo) print) next) g
1开始。直接解释23445 * * * * * * 67RES: NONE 894代码的执行顺序。相当于代码的单步调试。1.程序开始执行后,因为foo函数中有yield关键字,所以调用生成器G(相当于一个对象)2) next方法替换foo函数,直到foo函数正式执行。首先,foo函数程序遇到yield关键字,将yield视为返回。运行四次返回后,程序停止,但不替换reeld。此时next(g)语句的执行已经完成,所以输出的前两行(第一行是www,第二行是return的结果)是print的结果。4.程序执行print(**20)),输出20 * *,但这次是在下一个程序刚刚停止后执行。这意味着执行RES的赋值操作,此时请注意,赋值操作的右边没有值。(因为刚才return出去了,赋值操作左边没有传递参数,所以此时res赋值为None,所以接下来输出的是res:None。) 6.该程序继续运行,并再次点击产量。此时,return也发出4,程序停止。4的打印功能的输出是4.http://www.Sina.com/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。