yield用途:yield返回的数据是公式,是算法并不是具体数值,只有通过next()才能得出数值
def simple(str):
for i in str:
return i
这样使用发现simple会在第一次循环返回i值后结束
def simple(str):
for i in str:
yield i
使用yield后,程序在每一次循环都会返回i的值后停止运行,等待唤醒
*for循环执行的是迭代,所以会自动调用iter,next(),进而:
若:
for p in simple(str):
yield会不断的激活,直到str遍历结束