生成器总结
语法上和函数类似
自动实现迭代器协议
状态挂起:生成器使用yield语句返回一个值,yield语句挂起该生成器函数的状态,保留足够的信息,
以便之后从它离开的地方继续执行

优点1:生成器的好处是延迟计算,一次返回一个结果,也就是说,它不会一次生成所有的结果,对于大
数据批量处理,将会非常有用
列表解析
sum([i for i in range(1000000)])#执行时先生成一个列表,再运行sum,内存占用大,机器容易
卡死
生成器表达式
sum(i for i in range(1000000))#几乎不占内存
优点2:生成器还能有效提高代码可读性

看到第5讲