python学习 Generator Iterator

来源:互联网 发布:淘宝童装裤子 编辑:程序博客网 时间:2024/06/03 11:11
  • 可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator)。
  • 使用yield的函数被称为generator,generator就是一个Iterator。generator调用next,遇到yield语句返回。再次执行时从上次的yield语句处继续执行。
  • 创建generator的方法:1. 把列表表达式的[]改为(); 2.把函数中的print改为yield
# -*- coding:utf-8 -*-import sysdef fibonacci(n):    a, b, counter = 0, 1, 0    while True:        if (counter > n):            return        yield a        a, b = b, a + b        counter += 1f = fibonacci(10)while True:    try:        print (next(f))    except StopIteration:        sys.exit()
原创粉丝点击