Python生成器yield与send如何实现交互与控制,有何区别与联系?

2026-04-02 00:110阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

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

Python生成器yield与send如何实现交互与控制,有何区别与联系?

篇首语:编程笔记

篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python生成器中yield和send分析相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python生成器中yield和send分析相关的知识,希望对你有一定的参考价值。

生成器

在python中生成器是指用代码实现迭代器的的功能本质还是迭代器,只不过是代码实现迭代器功能。在python中生成器是由函数实现的,通常我们在函数中加入yeild就可以实现生成器。

Python生成器yield与send如何实现交互与控制,有何区别与联系?

生成器中yield

#定义一个函数def func(): print(111) yield 3 print(222)g=func()

运行上面代码你会发现函数根本没有执行,因为此时g是一个生成器对象,生成器是不会自己运行的,需要你调用next方法才会运行,并且每次遇到yield就会停止,继续调用next方法才会继续运行直到下一个yield。

def func(): print(111) yield 3 print(222)g=func()print(g.__next__())

运行结果:

可以看打印了111,222并没有打印,说明函数运行到yield就停止了,3是yield的返回值。

阅读全文

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

Python生成器yield与send如何实现交互与控制,有何区别与联系?

篇首语:编程笔记

篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python生成器中yield和send分析相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python生成器中yield和send分析相关的知识,希望对你有一定的参考价值。

生成器

在python中生成器是指用代码实现迭代器的的功能本质还是迭代器,只不过是代码实现迭代器功能。在python中生成器是由函数实现的,通常我们在函数中加入yeild就可以实现生成器。

Python生成器yield与send如何实现交互与控制,有何区别与联系?

生成器中yield

#定义一个函数def func(): print(111) yield 3 print(222)g=func()

运行上面代码你会发现函数根本没有执行,因为此时g是一个生成器对象,生成器是不会自己运行的,需要你调用next方法才会运行,并且每次遇到yield就会停止,继续调用next方法才会继续运行直到下一个yield。

def func(): print(111) yield 3 print(222)g=func()print(g.__next__())

运行结果:

可以看打印了111,222并没有打印,说明函数运行到yield就停止了,3是yield的返回值。

阅读全文