1.生成器:生成器是特殊的迭代器
在方法函数里加入yield关键字,既为生成器。
# 生成器是特殊的迭代器
class Yieldlclass():
def test1():
print("-----1-----")
def test2():
print("-----2-----")
yieldlclass = Yieldlclass()
def fibonacci(all_num):
print("-----1-----")
a, b = 0, 1
num = 0
while num < all_num:
print("-----2-----")
ret = yield a
print("-----3-----",ret)
num += 1
a, b = b ,a + b
print("-----4-----")
return ret
def main():
# 生成器不是方法函数,所以要用这个新建,使用next()进行启动生成器,不能进行传递参数
obj = fibonacci(10)
rets = next(obj)
print("aaaaa", rets)
# 第一次启动一般都是使用next进行启动,如果第一次不传值也可以使用send(None)。
while True:
try:
# rets获取的是yield后面a的值
rets = obj.send("hhhhhhhh")
p