在 Python 中,若通过 yield 创建生成器并用 __next__() 调用,可能会遇到返回 None 的情况。为解决此问题,可采用 send() 方法替代。以下通过具体示例演示其使用方式,展示如何有效传递值并控制生成器的执行流程,从而避免出现 None 值的问题。
1、 打开PyCharm,双击启动后新建Python文件,创建一个名为count的函数,具体操作所示。
2、 创建对象c,调用其count方法,并将返回值赋给变量c。
3、 第三步,调用print()函数输出c的__next__()方法结果,观察显示内容,所示。
4、 第四步,重新调用一次__next__()方法,观察输出结果,此时会显示一个None值,具体效果所示。
5、 第五步,调用send()方法查看两个__next__()方法间的结果,所示。
6、 第六步,保存代码并运行查看结果,发现send方法需传入参数,添加参数后可解决调用__next__()后返回None的问题,具体效果所示。
评论
更多评论