python生成式的send()方法(详解)
随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。
def generator(): while True: receive=yield 1 print('extra'+str(receive)) g=generator() print(next(g)) print(g.send(111)) print(next(g))
输出:
1 extra111 1 extraNone 1
为什么会这样呢,点进send就能看到一句话
send:Resumes the generator and "sends" a value that becomes the result of the current yield-expression.
就是说 这里yield 1整体被视为一个表达式,你send的内容会作为这个表达式的值,随便你左边用什么东西接收或者不接收,总之yield就是你send进来的那个东西。这个表达式变成你send进来后的东西后继续执行,再次遇到yield,输出yield后面跟着的表达式。
当然通常使用的话都不会输出一个常量,会输出一个和接收到的东西相关的量,不然岂不是白白发送了。
以上这篇python生成式的send()方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
浅谈Python生成器generator之next和send的运行流程(详解)
对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器
利用Celery实现Django博客PV统计功能详解
前言前几天给网站的文章增加了pv统计,之前只有uv统计。之前没加pv统计是觉得每个用户每访问一次文章,我都需要做一次数据库写操作实在是有损性
Python实现SSH远程登陆,并执行命令的方法(分享)
在自动化测试过程中,比较常用的操作就是对远程主机进行操作,如何操作呢?使用SSH远程登陆到主机,然后执行相应的command即可。使用Python来实现这
编辑:一起学习网
标签:生成器,表达式,操作,详解,给大家