生成器
def func(n): count = 0 while count < n: print('count',count) count += 1 sign = yield count if sign == "stop": break new_func = func(4) #第一个执行方法时,是把函数变成了生成器 print(new_func) 输出结果 <generator object func at 0x109b10e60>
def func(n): count = 0 while count < n: print('count',count) count += 1 sign = yield count if sign == "stop": break new_func = func(4) #第一个执行方法时,是把函数变成了生成器 print(new_func) next(new_func)#第二次执行时,执行了一次函数,然后停在yield,并返回了count 输出结果 <generator object func at 0x10f792e60> count 0
def func(n): count = 0 while count < n: print('count',count) count += 1 sign = yield count if sign == "stop": break new_func = func(4) #第一个执行方法时,是把函数变成了生成器 #print(new_func) next(new_func)#第二次执行时,执行了一次函数,然后停在yield,并返回了count #new_func.__next__()一样 new_func.send("stop") #唤醒并执行yield,发送一个信息到生成器内部