def fun():
while True:
print("before")
yield 4
print("after")
# 函数中有yield关键字,所以fun函数并不会真的执行,而是先得到一个生成器g(相当于一个对象)
g = fun()
# 到调用next方法,fun函数正式开始执行
print("..............first")
print(next(g)) # 程序执行到yield关键字,return了一个4之后,程序停止
print("..............second")
print(next(g)) # 从上面程序停止的地方开始执行,到yield关键字,return了一个4之后,程序停止
print("..............third")
print(next(g)) # 从上面程序停止的地方开始执行,到yield关键字,return了一个4之后,程序停止
..............first
before
4
..............second
after
before
4
..............third
after
before
4