生成器函数进阶
Posted whylinux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器函数进阶相关的知识,希望对你有一定的参考价值。
1.生成器函数进阶(一)
1 # 生成器函数进阶 2 3 def generator(): 4 print(123) 5 num = yield 1 # 当第一个__next__发生时,yiled 1先被执行,被返回,停在了这里,之后当send来了后,send的参数先赋值给了yield的左值,之后再执行下一个yield之前的代码 6 # send()获取yield值之前,会给上一个yield的位置传递一个参数数据,这个数据可以被上一个yield的左值接收 7 # 使用生成器的send()方法,就是在触发yield时,会将send传递过去的参数赋值到上一个yield的左值位置,然后在执行上一次yield和本次触发yield之间的代码 8 print(‘----‘, num) 9 print(456) 10 yield 2 11 12 g = generator() 13 ret = g.__next__() 14 print(‘**‘, ret) 15 # send()调用后,会在获取下一个yield值之前,会给上一个yield的位置传递一个参数数据,这个数据可以被上一个yield的左值接收 16 ret = g.send(‘hello‘) # ---- hello 456 和__next__效果类似,只不过多了一个将参数赋值给了上一个yield,可以赋值给上一个yield的左值 17 print(‘**‘, ret)
以上是关于生成器函数进阶的主要内容,如果未能解决你的问题,请参考以下文章
我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段
我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段