标签:执行 iter 相同 ext usr next try bre return
__author__ = ‘ZHHT‘ #!/usr/bin/env python # -*- coding:utf-8 -*- #返回当前执行到的函数的返回值。并保持当前执行的状态。这时候先执行别的。下次在执行的时候,接者上次调用的位置,继续往下执行代码。 def fib(num): n = 0 a,b=0,1 while n <num: yield b a,b=b,a+b n+=1 return ‘完成‘ f = fib(5) while True: try: x = next(f) print("value%d"%x) except StopIteration as e: print("生成器返回值--‘%s‘"%e.value) break #第二种是例子: def gen(): i = 0 while i < 5: temp = yield i print(temp) i+=1 f = gen() print(next(f)) print(next(f)) print(next(f)) #它和上面的相同点就是能够继续迭代执行。不通过点是,流程走到yield 返回了i的值,在执行后面的时候temp则接受到的是None,而send则是发了个值贵temp接受就这样一个情况 print(f.send("haha1")) print(f.send("haha2"))
标签:执行 iter 相同 ext usr next try bre return
原文地址:https://www.cnblogs.com/zhaohongtaodepython/p/9431463.html