迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stopiteration异常,以终止迭代(只能往后走不能往前退)
列表表达式 l = ['a' for i in range(10)] 当数据太大的时候太占内存空间
变为生成器表达式为l = ('a' for i in range(10))
遍历生成器右for 、list 、sum 生成器只能取一次值,取完值就没有了。