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,发送一个信息到生成器内部