Python 生成器
2021-03-30 09:27
标签:技术 实现 实现机制 div 开始 idt 方式 特性 ima 某个方法通过一定的算法会产生一组序列,且每次返回一个值的方式叫做生成器。 一,实现机制: 方法(函数)在每次运算时,遇到yield后,返回当前的值,并记录当前运行的状态,再下次进入时,从记录的状态开始再次进入计算。 二,特性: (1)以yield关键字定义一个生成器函数。 (2)生成器函数返回的是一个生成器,并不是一个序列。需要通过next进行取值,值取完时会抛出StopIteration异常。 (3)可通过for ... in的迭代方式进行取值。 (4)取值方向只能向前取值,不能向后取值。 (5)每个值只能取一次,使用完毕后再次next或者for迭代时,上次的值就会被释放。 三,应用场景: 对于会产生一个较大序列的函数,如果每次值访问其中一个或者几个值进行处理,处理完后不在需要该数据时,使用生成器。 四,优势: (1)对于大数据处理,避免了开辟较大的空间存储序列数。 (2)对于较大的计算,每产生一个数据后就返回,缩短响应时间。 五,定义方式: (1) 元组迭代器生产的数据为生成器 (2)通过yield关键字定义的函数 Python 生成器 标签:技术 实现 实现机制 div 开始 idt 方式 特性 ima 原文地址:https://www.cnblogs.com/lwp-boy/p/13585807.html# (1)通过元组推导式生产生产器
t = (x*x for x in range(5)) # 产生一个生产器
print type(t) #