day.1生成器

 
 
day 1 生成器
 
 
定义:一边循环一边计算的机制称为生成器
 
 
最大的特点: 节省内存
 
 
生成器的 本质是迭代器
 
 
 
 
send 关键字
 
 
send 对应一个yield
 
 
1,给上一个yield 传值
 
 
2,打印yield值
 
 
最后一个yield 取不到send 传的值
 
 
 
yield from 关键字
 
 
yield from 他会将这个可迭代对象(列表)的每个元素当成迭代器的每个结果进行返回。
 
 
如果是yield 返回的是列表整体
 
 
 
列表推导式 []
 
 
1. 循环模式:  [变量(加工后的变量) for 变量initerable]
 
 
2.  筛选模式:  [变量(加工后的变量) for 变量initerable   if 条件]
 
 
生成器表达式()
 
 
•生成器表达式和列表推导式的语法上一模一样,只是把 [ ] 换成 ( ) 就行了
 
 
取值通过for循环,或者用list 放列表,可以直观查看到值
 
 
•生成器表达式和列表推导式的区别:
 
 
•1,列表推导式比较耗内存,所有数据一次性加载到内存。而生成器表达式遵循迭代器协议,逐个产生元素。
 
 
•2,得到的值不一样,列表推导式得到的是一个列表.生成器表达式获取的是一个生成器对象
 
 
•3,列表推导式一目了然,生成器表达式只是一个内存地址。
 

猜你喜欢

转载自www.cnblogs.com/hjy472458040/p/11884500.html