"""
生成器:generator
yield关键字的函数即为生成器,生成器的返回值为迭代器类型。
生成器的优点:
一次返回一个结果,延迟计算。这对于大数据量处理,是个非常有用的优势。占用内存量是工程师必须考虑的一个问题。
提高代码可读性。使用生成器,代码行数更少。
生成器有两种表示形式:
生成器函数:外表看上去像是一个函数,但是没有用return语句一次性的返回整个结果对象列表,使用yield语句一次返回一个结果。
生成器推导式:类似列表推导式,将方括号换成了圆括号,返回按需产生的一个结果对象,而不是构建一个结果列表。
"""# 实例如下defgen_fun(_list):for i in _list:yield i * i
if __name__ =='__main__':
data = gen_fun([1,2,3,4])# 输出结果是: <class 'generator'>print(type(data))# 输出数据: <class 'generator'>
_gen =(x for x inrange(1,10))print(type(_gen))print(data.__next__())