This article mainly describes Python using iterators to capture the generator return value of the method, combined with a specific instance of the Python iterator to obtain the return value of the relevant operation skills, the need for friends can refer to the following
This example describes how Python uses iterators to capture generator return values. Share to everyone for your reference, as follows:
When calling generator with a for loop, it is found that the return value of generator Return statement is not available. If you want to get the return value, you must catch the Stopiteration error, and the return value is contained in the value of stopiteration:
#!/usr/bin/env python#-*-coding:utf-8-*-def fib (max): N, a, b = 0, 0, 1 while n < max: yield b A, b = B, a + b n = n + 1 return ' Done ' # captures the return value of generator G = FIB (6) while True: try: X=next (g) print (' g= ', x) except Stopiteration as E: print (' Generrator return value: ', E.value) break
Output:
g= 1g= 1g= 2g= 3g= 5g= 8Generrator return Value:done