迭代器 + 生成器 + 异常捕获 结合使用
# __author__ = ‘19134‘ def generator_test(max_num): ‘‘‘ 如果一个函数中用到了yield 关键字,我们应该称其为 生成器 注意 斐波那契数列 a, b = b, a+b 等同于 t(元组) = (b, a+b) 一定要区别于 a = b b = a + b 的写法 ‘‘‘ a, b, n = 0, 1, 0 while n < max_num: yield b # a = b # b = a + b a, b = b, a+b n = n + 1 # yield b # # a = b # # b = a + b # a, b = b, a+b return ‘done‘ # print(g.__next__()) # print(g.__next__()) print(‘========中间可以做一些其他事情=========‘) # print(g.__next__()) # print(g.__next__()) # print(g.__next__()) # f 就是生成器返回的 迭代器,可以通过next 去迭代列表中的元素 f = generator_test(10) while True: try: print(f.__next__()) except StopIteration as e: print("========异常捕获======", e.value) break
原文:https://www.cnblogs.com/pytian/p/11797227.html