defmy_range(n):print('开始迭代...')print('-'*10)
i =0while i < n:print('迭代中...')yield i
print('-'*10)
i +=1print('迭代结束')
gen_obj = my_range(2)print(next(gen_obj))
defmy_range(n):print('开始迭代...')print('-'*10)
i =0while i < n:print('迭代中...')yield i
print('-'*10)
i +=1print('迭代结束')
gen_obj = my_range(2)print(next(gen_obj))print(next(gen_obj))
defmy_range(n):print('开始迭代...')print('-'*10)
i =0while i < n:print('迭代中...')yield i
print('-'*10)
i +=1print('迭代结束')
gen_obj = my_range(2)print(next(gen_obj))print(next(gen_obj))print(next(gen_obj))
defmy_range(n):print('开始迭代...')print('-'*10)
i =0while i < n:print('迭代中...')yield i
print('-'*10)
i +=1print('迭代结束')
gen_obj = my_range(2)whileTrue:try:print(next(gen_obj))except Exception as e:break
defmy_range(n):
i =0while i < n:
val =yield i
print(f'val 的值为 {val}')
i +=1
gen_obj = my_range(3)print(gen_obj.send(None))print(gen_obj.send('hello'))print(gen_obj.send('world'))
defmy_range(n):
i =0while i < n:
val =yield i
print(f'val 的值为 {val}')
i +=1
gen_obj = my_range(3)print(gen_obj.send(None))print(gen_obj.send('hello'))
gen_obj.close()print(gen_obj.send('world'))
0
val 的值为 hello
1
Traceback (most recent call last):
File "C:/Users/FOLLOW_MY_HEART/Desktop/Python Basics/【Python基础】生成器/test.py", line 19, in<module>
print(my_range.send('world'))
StopIteration