各位用户为了找寻关于浅谈对yield的初步理解的资料费劲了很多周折。这里教程网为您整理了关于浅谈对yield的初步理解的相关资料,仅供查阅,以下为您介绍关于浅谈对yield的初步理解的详细内容

如下所示:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 def go():   while True:     data = 1     r = yield data # data是返回值,r是接收值     print("data", data)     print("A1", r)     data += 1       r = yield data     print("data",data)     r += r     print("A2", r)     data += 1       r = yield data     print("data",data)     print("A3", r)     # 运行时此后若找不到下一个yield,则会报错StopIteration   my = go() print("my", my) print("None", my.send(None)) print(my.send("1")) print(my.send("2")) print(my.send("3"))

①my.send(None):  意思为启动协程,此步会返回第一个yield后面的data值。

②send一次,运行的代码是两个yield之间的代码,最后返回后一个yield后面的data值,若缺少后一个yield语句,则会报错“Stoplteration”

③r = yield data

   r 为my.send('传入的数据') 传入的数据

   data为此段运行完返回的数据

以上这篇浅谈对yield的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。