今天开始不定期更新自己的学习笔记。目标:不断积累,持续学习,终成大牛。
生成器在Python中首先是一个对象,用于创建Python序列。使用生成器可以迭代庞大的序列,且不需要在内存中创建和存储整个序列。通常,生成器是为迭代器产生数据的。典型的使用用例是range()函数。每次迭代生成器时,生成器会记住上一次调用的内容,并且返回下一个值。
生成器函数和普通函数类似,但是它的返回值使用yield语句而不是return。例如:
def my_range(first = 0, last = 10, step = 1):
number = first
while number < last:
yiled number
number += step
生成器函数和一般函数的不同之处在于:一般函数生成值后就会退出,如使用return语句;生成器函数在生成值后会自动挂起,并暂停它们的执行状态,它的本地变量将保存状态信息,这些信息在函数恢复时再度有效。