Python練習-一個簡單的產生器

來源:互聯網
上載者:User

標籤:ext   top   數值   while   產生   遍曆   break   產生器   警示   

今天我們學習了產生器,怎麼理解產生器呢,其實就是使用函數的方式自己建立一個迭代器

 1 # 編輯者:閆龍 2 #做一個簡單的產生器 3 def EasyGene(*args): #建立一個產生器方法並傳遞多個參數 4     for i in args: 5         yield i#將擷取的多個參數值,全部yield返回 6 g = EasyGene("a","b",3) #將參數傳遞給產生器方法EasyGene,並將yield返回結果賦值給g 7 while True: 8     try: 9         print(next(g))#迴圈列印next(g)中的結果10     except StopIteration:#由於遍曆產生器的迭代器,當超出迭代器長度時,會產生一個Stop警示,所以我們要使用try的方式將警示進行處理11         break

事實上產生器也是一個迭代器,這個理論有點難懂:

# 編輯者:閆龍from collections import Iterable,Iterator,Generatordef a():    yield 1    yield 2print(isinstance(a(),Iterator)) #判斷a()的執行結果是不是一個迭代器,返回結果是Trueprint(isinstance(a(),Generator))#判斷a()的執行結果是不是一個產生器,返回結果也是Trueprint(type(a()))#列印一下a()的執行結果是什麼類型,令人差異的是結果為一個產生器:<class ‘generator‘>#神坑已挖好,請大家自行填坑

 

Python練習-一個簡單的產生器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.