生成器
列表生成
在cmd中运行
I*2for I in range(10)
列表生成
A = [ I * 2 for I in range(10)]
生成器
B= (I *2 for I in range(10))
生成器只有在调用时才会产生相应的数据
只记住当前的数据
C.__next__()
a,b = b,a+b
t = (b,a+b)
a = t(0)
b
= t(1)
def fib(max):
n,a,b = 0,0,1
while n < max:
yield b
#print(b)
a,b = b,a + b
n = n + 1
return 'done'
f = fib(5)
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
注:没有弄明白,没有弄明白。。。。生成器,循环执行,只记录本次循环的当前值,循环执行条件不符合,跳出循环,执行返回函数return,可以用来接收异常。