python
第三十九次总结:协程
函数的复习 函数的定义与调用 在不执行代码的情况下 需要明确代码是如何一步一步执行的 def func(): print(1) return 2 print(2) res = func() print(res) 生成器函数复习 把return换为yield 函数就会变为一个生成器 只要函数中有了yield,那么这个函数就是生成器函数 对象的创建 = 类名() 生成器的创建 = 生成器函数名() 希望让生成器对象执行起来 生成器对象.__next__() 生成器对象运行起来后 它会执行函数内部的代码 直到遇见yield就会停住 返回yield后面的数据 并且指针状态会停留在yield这一行的行未 当第二次执行 生成器对象.__next__() 从上一次停留的地方继续往下走 情况1,直到遇见yield就会停住,返回yield后面的数据 情况2,没有遇到yield,函数结束,它会按照迭代器协议报错。得不到数据,经协过的代码仍会被执行. 测试代码 def func(): print(