def odd(): print("step 1") yield 1 print("step 2") yield 2 print("step 3") yield 5 o = odd() next(o)
我直接运行这段脚本(通过python generator.py),结果是:step 1
并没有输出1;
但是在python环境中一行行打出脚本执行,结果就是 step 1 1
有人能解释下吗?为什么直接执行脚本的时候不输出1呢
print(next(o))
yield相当于return而不是print
Sign in to make a reply
魔术念
我直接运行这段脚本(通过python generator.py),结果是:step 1
并没有输出1;
但是在python环境中一行行打出脚本执行,结果就是 step 1 1
有人能解释下吗?为什么直接执行脚本的时候不输出1呢