import time def func(): print(123) sum = 0 print(6666) yield sum print(7777) yield sum print(8888) yield sum def fff(): g = func() print('這是在ffff函數中') print(next(g)) time.sleep(1) print('這是在ffff函數中') print(next(g)) time.sleep(1) print('這是在ffff函數中') print(next(g)) fff() # g = func() #此時不會執行func函數,必須遇到下面代碼中的next(g)纔會執行函數,而且每個next(g)只循環一次後,程序將停在while 1:以前,等待下一次next(g) # print('abc') # time.sleep(10) # print(next(g)) # time.sleep(10) # fff() #在fff函數中使用next(g)使得程序fff()和func()交替執行 # time.sleep(10) # print(next(g))