PythonStudy——生成器send方法

Python生成器send方法详解
本文深入探讨了Python中生成器的send方法工作原理,通过具体案例解释了如何使用send方法控制生成器的执行流程,以及它与__next__方法的区别。

# send的工作原理
# 1.send发生信息给当前停止的yield
# 2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止

# 案例:

persons = ['张三', '李四', '王五', '赵六', '钱七']

def order(persons):
  for i in range(len(persons)):
    if i == 0:
      print('%s在面试' % persons[0])
    else:
      print('%s叫%s在面试' % (name, persons[i]))
      print('%s面试完毕' % persons[i])
      name = yield persons[i]

obj = order(persons)
for i in range(len(persons)):
  if i == 0:
    p = obj.__next__()
  else:
    p = obj.send(p)
  print('=============================')

 

转载于:https://www.cnblogs.com/tingguoguoyo/p/10803713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值