20180421-1 生成器 1

生成器

列表生成

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,可以用来接收异常。

猜你喜欢

转载自blog.csdn.net/weixin_42020378/article/details/80027947
今日推荐