如何通过实例快速掌握Python yield用法?

2026-05-16 18:111阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计329个文字,预计阅读时间需要2分钟。

如何通过实例快速掌握Python yield用法?

pythondef demo(): print(开始执行...) while True: res=yield '这是返回值' print(res:, res)

d1=demo()print(d1)print(next(d1))print(**)print(next(d1))

实例代码如下

def demo(): print("开始执行...") while 1: res = yield '这是返回值' print("res:",res) d1 = demo() print(d1) print(next(d1)) print("*"*20) print(next(d1))

执行结果如下:

开始执行...
这是返回值
********************
res: None
这是返回值

代码解释,个人理解,说得不对希望能够点出:

d1 = demo();生成一个对象,不会输出任何内容

print(d1); 这里不输入任何内容,因为程序第一次遇到yield就暂停了,即使yield前面有输出语句,一样给输出

print(next(d1)); 程序会接着yield继续执行,第二次遇到yield,return“这是返回值”,加起来就会会输出开始执行...
这是返回值

print(next(d1));再次执行next(d1),相当于第三遇到yield,因为上一步相当于被return,res并没有赋值,所以为None,继续执行while,第四次遇到yield,输出“这是返回值”

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

如何通过实例快速掌握Python yield用法?

本文共计329个文字,预计阅读时间需要2分钟。

如何通过实例快速掌握Python yield用法?

pythondef demo(): print(开始执行...) while True: res=yield '这是返回值' print(res:, res)

d1=demo()print(d1)print(next(d1))print(**)print(next(d1))

实例代码如下

def demo(): print("开始执行...") while 1: res = yield '这是返回值' print("res:",res) d1 = demo() print(d1) print(next(d1)) print("*"*20) print(next(d1))

执行结果如下:

开始执行...
这是返回值
********************
res: None
这是返回值

代码解释,个人理解,说得不对希望能够点出:

d1 = demo();生成一个对象,不会输出任何内容

print(d1); 这里不输入任何内容,因为程序第一次遇到yield就暂停了,即使yield前面有输出语句,一样给输出

print(next(d1)); 程序会接着yield继续执行,第二次遇到yield,return“这是返回值”,加起来就会会输出开始执行...
这是返回值

print(next(d1));再次执行next(d1),相当于第三遇到yield,因为上一步相当于被return,res并没有赋值,所以为None,继续执行while,第四次遇到yield,输出“这是返回值”

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

如何通过实例快速掌握Python yield用法?