淺談python迭代器
1、yield,將函數(shù)變?yōu)?generator (生成器)
例如:斐波那契數(shù)列
def fib(num): a, b, c = 1, 0, 1 while a <= num: yield c b, c = c, b + c a += 1 for n in fib(10): print(n, end=' ') # 1 1 2 3 5 8 13 21 34 55
2、Iterable
所有可以使用for循環(huán)的對(duì)象,統(tǒng)稱為 Iterable (可迭代)
from collections import Iterable, Iterator print(isinstance(fib(10), Iterable)) print(isinstance(range(10), Iterable)) # True # True
3、Iterator
可以使用next() <__next__()> 函數(shù)調(diào)用并且不斷返回下一個(gè)值的對(duì)象成為 Iterator (迭代器),表示一個(gè)惰性計(jì)算的序列。
list, dict, str是Iterable,不是Iterator:
from collections import Iterator print(isinstance(list(), Iterator)) # False
但是可以通過iter()函數(shù)將其變?yōu)镮terator:
print(isinstance(iter(list()), Iterator)) # True
總結(jié)
以上就是本文關(guān)于淺談python迭代器的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:python好玩的項(xiàng)目—色情圖片識(shí)別代碼分享、Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的驗(yàn)證碼程序、Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運(yùn)算式等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Windows環(huán)境下python環(huán)境安裝使用圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows環(huán)境下python安裝使用圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03對(duì)python3標(biāo)準(zhǔn)庫(kù)httpclient的使用詳解
今天小編就為大家分享一篇對(duì)python3標(biāo)準(zhǔn)庫(kù)httpclient的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12python自動(dòng)化發(fā)送郵件實(shí)例講解
在本篇文章里小編給大家分享了一篇關(guān)于python自動(dòng)化發(fā)送郵件實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-01-01python打包生成的exe文件運(yùn)行時(shí)提示缺少模塊的解決方法
今天小編就為大家分享一篇python打包生成的exe文件運(yùn)行時(shí)提示缺少模塊的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10詳解Django 中是否使用時(shí)區(qū)的區(qū)別
本篇文章主要介紹了詳解Django 中是否使用時(shí)區(qū)的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06