yeild简单来说就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。
生成器是一个函数
函数所有的参数都会保留
第二次调用此函数时使用的参数是前一次留下的
生成器还“记住”了它数据状态。还记住了它在流控制构造中的位置。
生成器的运行机制
当你让生成器产生一个数时,生成器会执行,直至出现yeild语句,生成器把yeild的参数给你,之后生成器就不会往下运行。当你向它要下一个数时,他会从上次状态开始继续运行,直至出现yeild语句,把参数给你,之后停下,如此反复直至退出函数
运行结果