Python使用迭代器捕獲Generator返回值的方法
本文實例講述了Python使用迭代器捕獲Generator返回值的方法。分享給大家供大家參考,具體如下:
用for循環(huán)調(diào)用generator時,發(fā)現(xiàn)拿不到generator的return語句的返回值。如果想要拿到返回值,必須捕獲StopIteration錯誤,返回值包含在StopIteration的value中:
#!/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'
# 捕獲Generator的返回值
g = fib(6)
while True:
try:
x=next(g)
print('g=',x)
except StopIteration as e:
print('Generrator return value:', e.value)
break
輸出:
g= 1 g= 1 g= 2 g= 3 g= 5 g= 8 Generrator return value: done
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python機器學習庫scikit-learn入門開發(fā)示例
scikit-learn是一個開源Python語言機器學習工具包,它涵蓋了幾乎所有主流機器學習算法的實現(xiàn),并且提供了一致的調(diào)用接口。它基于Numpy和scipy等Python數(shù)值計算庫,提供了高效的算法實現(xiàn)2022-07-07
Python實戰(zhàn)之大魚吃小魚游戲的實現(xiàn)
這篇文章主要介紹了如何利用Python制作一個經(jīng)典游戲之大魚吃小魚,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下2022-04-04
獲取django框架orm query執(zhí)行的sql語句實現(xiàn)方法分析
這篇文章主要介紹了獲取django框架orm query執(zhí)行的sql語句實現(xiàn)方法,結(jié)合實例形式分析了Django框架中orm query執(zhí)行的sql語句獲取方法相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-06-06

