解析python生成器函式的呼叫
生成器可以是在工作完成後自動繼續工作嗎?這是大家給小編出的問題,關於生成器,其實它在工作完以後,只能去重新建立一個生成器物件,這樣才能保證工作的正常運轉,口說無憑,我給大家走一遍流程,大家可以仔細觀察就理解明白了。
觀察生成器函式執行過程:
import random def genRandom(): #yield關鍵字 r = random.randint(0,1000) print('befor yield') yield r print('after yield') genfunc = genRandom()
呼叫:
print(next(genfunc)) 結果:沒有執行:print('after yield') befor yield 726
分析:呼叫yield之後,返回產生隨機數:314,然後停止
從上述內容我們可以看出,執行yield下一條語句,並報異常,這是因為透過異常告知呼叫者,生成器執行結束,那麼如果想要再次執行生成器,必須重新建立生成器物件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2832161/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python生成器函式的特點Python函式
- JavaScript 之有趣的函式(函式宣告、呼叫、預解析、作用域)JavaScript函式
- C++如何解析函式呼叫C++函式
- Python中的main函式解析PythonAI函式
- python 生成器 和生成器函式 以及各種推導式Python函式
- 自定義生成器函式模擬Python內建函式filter()函式PythonFilter
- Python入門之函式呼叫(二)Python函式
- Python透過函式名呼叫函式的幾種場景Python函式
- 【Python培訓基礎知識】Python生成器函式Python函式
- 外部函式的呼叫函式
- python基礎--函式全解析Python函式
- python函式的定義和呼叫是什麼?Python函式
- python 系統函式呼叫sed分組Python函式
- 如何使用python super函式呼叫父類?Python函式
- python不定長引數如何呼叫函式?Python函式
- 好程式設計師Python培訓分享Python的遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 生成器函式generator函式
- python極簡教程05:生成器和匿名函式Python函式
- Python 潮流週刊#64:Python 的函式呼叫還很慢麼?(摘要)Python函式
- Python 偏函式用法全方位解析Python函式
- 子函式呼叫函式
- 函式呼叫棧函式
- Python中將函式作為另一個函式的引數傳入並呼叫Python函式
- 生成器函式,迭代器函式
- python同異級目錄下的函式呼叫問題Python函式
- Python range與enumerate函式區別解析Python函式
- 從彙編視角解析函式呼叫中的堆疊運作函式
- Python3 生成器解析Python
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- 函式呼叫棧的問題函式
- 虛擬函式的呼叫原理函式
- 好程式設計師Python教程系列遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- gdb 如何呼叫函式?函式
- C程式函式呼叫&系統呼叫C程式函式
- PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)SQL函式
- 普通函式與函式模板呼叫規則函式
- .Net7 CLR的呼叫函式和編譯函式函式編譯
- 生成器 推導式 內建函式函式