生成式:
list = [x*x for x in range(1,88) if x%2==0]
后边可以加if条件过滤
生成器:
用法一-》
g = (x*x for x in range(1,88) if x%2==0)
直接 使用next(g)即可获取生成器生成的元素
在生成式上略作修改,将[]改成()即可
用法二-》
def fib(max):
n, a, b = 0, 0, 1
while n < max:
print(b)
a, b = b, a + b
n = n + 1
return 'done'
直接将方法中的return关键字改成yeild即可