想知道为什么这两次输出结果不一样,其中有什么不同吗,请求大L指导
第一种情况,a函数只掉用一次,next每次针对的是同一个s ,所以连续
第二种情况,等于每次重新调用一次a(),等于又回来了初始值
首先,你要搞懂yieid的用法:https://blog.csdn.net/mieleizhi0522/article/details/82142856
带yield的函数看作是一个迭代器
当你使用next的时候才会去执行函数
s=a()的时候,你执行多次next(s)是去获取迭代器中的每个元素。每次获取的都是同一个迭代器
next(a())的时候,你执行多次next(a()),每次都是获取一个新的迭代器的元素。每次都是不同的迭代器