摘要: #pep380 #1. RESULT = yield from EXPR可以简化成下面这样 #一些说明 """ _i:子生成器,同时也是一个迭代器 _y:子生成器生产的值 _r:yield from 表达式最终的值 _s:调用方通过send()发送的值 _e:异常对象 """ _i = iter(EXPR) # EXPR是一个可迭代对象,_i其实是子生成器; try: _... 阅读全文
posted @ 2019-07-14 22:14 下路派出所 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1. yield from 会抛出iterator中所有的值;而yield只是抛出传进来的值,如果是值,就抛出值,如果是iterator对象,抛出iterator对象 输出: 2. yield from会在调用方与子生成器之间建立一个双向通道 输出: 阅读全文
posted @ 2019-07-14 20:46 下路派出所 阅读(286) 评论(0) 推荐(0) 编辑
摘要: send 1. yield可以产出值,可以接收值 2. 在调用send发送非none值之前,我们必须启动一次生成器, 方式有两种 a. gen.send(None) b. next(gen) close 不要随便try catch 如果要捕获异常,那么必须抛出StopIteration throw 阅读全文
posted @ 2019-07-14 12:04 下路派出所 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 1. 使用类实现比较方便我们使用里面的参数 2. 我们使用selector,不适用select 3. I/O多路复用是指使用 回调+事件循环+select(poll\epoll) a. 使用selector注册,并注册回调函数 b. 使用事件循环一直循环,查询状态 c. 使用select调用相应的回 阅读全文
posted @ 2019-07-14 10:33 下路派出所 阅读(641) 评论(1) 推荐(0) 编辑