python yield
1 """yield demo""" 2 3 4 def get_yield_num(n: int): 5 for i in range(n): 6 yield i 7 8 9 def get_range_num(n: int): 10 for i in range(n): 11 return i 12 13 14 def gen_simple_demo(): 15 print('first call') 16 yield 1 17 print('second call') 18 yield 2 19 20 21 # 使用yield发送消息 22 def echo(): 23 while True: 24 message = yield 25 print("收到消息:", message) 26 27 28 if __name__ == '__main__': 29 e = echo() 30 print(type(e)) 31 next(e) 32 e.send("你好") 33 e.send("再见") 34 35 36 37 gen = get_yield_num(5) 38 print(gen) 39 for num in gen: 40 print(num) 41 print('------------------') 42 print(get_range_num(5)) 43 44 gen_simple = gen_simple_demo() 45 print(next(gen_simple)) 46 print(next(gen_simple))
Please call me JiangYouDang!