python中yield函数学习记录

Python知识记录

yield的使用

今天观看了大神对yield的理解,帮助大,以此记录。

若在函数中出现了yield ,刚开始可以理解为一个return,但注意的是:

  1. 创建好调用函数对象后,函数不会立即执行,而是在使用next()函数后才开始执行;
  2. 在第一次遇到yield时,看作return返回,函数到此结束,方便理解我们在此打一个断点;
    3.后续的过程中若再次执行next(),返回断点不执行,顺移至下一步执行,此时要注意上次被看做return的值此时变为None,除非调用了send()函数赋值;
  3. 执行函数直到又碰到yield ,循环往复;
// An highlighted block
def foo():
    print("starting...")
    while True:
        res = yield 4
        print("res:",res)
g = foo()
print(next(g))
print("*"*5)
print(next(g)) #print(g.send()5)

*******************
starting...
4
*****
res: None #res:5
4

相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值