Python 知识点

1. generator

 #g is a generator and g is iterable

    g = (x*x for x in range(5))

    for n in g:

   print(n)

    # or 

    next(g)

 

定义generator的另一种方法: 如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a + b
        n = n + 1

>>> f = fib(6)
>>> f
<generator object fib at 0x104feaaa0>

变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行

2. decorator

3. iterator

 

posted @ 2017-01-08 14:50  alxe_yu  阅读(173)  评论(0编辑  收藏  举报