声明一个生成器
只要函数体中有yield关键词, 它就是一个生成器
yield翻译为让渡, 我们可以简单理解为暂停并返回右边的值
def my_range_gen(n):
for i in range...同样提供了惰性返回的功能, 迭代器侧重于提供数据的惰性返回功能, 生成器侧重于指令的惰性返回功能
协程
协程的原理
协程的实现原理就是生成器的实现原理, 在生成器的基础上又提供了传递值的功能....)
yield和yield from
yield from实现的协程异步程序晦涩难懂, 在python3.4引用asyncio标准库之后被弃用
yield from 用来驱动子程序中的循环并返回最终值...I/O
asyncio(异步)
Python3.4引入的标准库, 替换yield from实现协程异步IO, 可以更好地实现异步程序
实现原理: 自动维护了一个事件队列, 然后循环访问事件来完成异步的消息维护...这也是当前python异步的一个痛点, 就是丰富的第三方库不是都支持asyncio的.