调试

 1 def creat_num(all_num):
 2     a, b = 0, 1
 3     current_num = 0
 4     while current_num < all_num:
 5         ret = yield a
 6         print(">>>ret>>>",ret)
 7         a, b = b, a+b
 8         current_num += 1
 9 
10 obj = creat_num(10)
11 # obj.send(None) # send一般不会放到第一次启动生成器,如果非要这么做,传值必须用None
12 ret = obj.send(None)
13 print("----第一次----",ret)
14 
15 ret = next(obj)
16 print("----第二次----",ret)
17 
18 ret = obj.send(5)
19 print("----第三次---",ret)
20 
21 ret = next(obj)
22 print("----第四次---",ret)

结果:

----第一次---- 0
>>>ret>>> None
----第二次---- 1
>>>ret>>> 5
----第三次--- 1
>>>ret>>> None
----第四次--- 2

  

send传的值不影响next()下次要取得值

相关文章:

  • 2021-10-21
  • 2021-09-13
  • 2021-06-06
  • 2022-01-19
  • 2021-11-11
  • 2022-01-02
  • 2021-07-20
  • 2022-12-23
猜你喜欢
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
  • 2021-12-13
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
相关资源
相似解决方案