关键字yield

首先直观上等价于return,其次可看作生成器的一部分,(带有yield的函数,会被解释器视为一个迭代器,返回iterable对象)

实验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Fab(object):

def __init__(self, max):
self.max = max
self.n, self.a, self.b = 0, 0, 1

def __iter__(self):
return self

def next(self):
if self.n < self.max:
r = self.b
self.a, self.b = self.b, self.a + self.b
self.n = self.n + 1
return r
raise StopIteration()
  • 判断函数是否为特殊的 generator 函数—isgeneratorfunction

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 关键字yield
    1. 1.1. 实验
,