Python3之生成器

来源:互联网 发布:吴德周 知乎 编辑:程序博客网 时间:2024/05/24 04:02

1.何为生成器:

函数带yeild关键字,并且函数被执行得到的结果就是生成器


2.生成器本质就是一个迭代器

生成器有__iter__和__next__方法


3.yeild表达式形式(协程函数):

x = yeild

当生成器调用send方法时,会有一个赋值操作并且程序会往下继续执行直到遇到下一个yeild程序挂起。期间的赋值操作会将值先给yeild然后yeild再赋值给x,要注意的一个问题是用send方法前先将yeild初始化,否则会报:


可以将初始化做成一个装饰器,然后后面的生成器函数可以直接用,不需要初始化yeild



原创粉丝点击