1.生成器作用
函数可以暂停或者挂起,并在需要的时候从程序离开的地方继续或者重新开始。
2.标志:
在函数中定义有yield语句。需要注意的是:每一个生成器函数又相当于一个迭代器。
每一个yield相当于return,迭代返回。可以使用next()函数进行依次访问每一个yield语句。
3.列表推导式:
a=[i for i in range(100) if not(i%2) and i&3]
则:a=[2,4,8....]
字典(大括号加冒号标志,没有冒号是一个集合)推导式:
b={i:i%2 for i in range(10)}
b=[0:true,1:false...]
集合推导式:
c={i for i in [1,1,2,3,4,5,6,1,2,3]}
字符串迭代器:
没有。因为在双引号内就是一个字符串,不存在逻辑关系
元祖生成器:
e=(i for i in range(10))
则:e不打印数据。此时e为一个生成器,即此该公式为生成器推导式。
注意:如果将生成器推导式作为函数的参数,不需要加括号(也可加)即可,即:sum(i for i in range(10))