无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python問題8:生成器和迭代器的區(qū)別?

2022-11-11 19:25 作者:夏老師學(xué)習(xí)谷  | 我要投稿

迭代器是一個更抽象的概念,任何對象,如果它的類有?next?方法和iter?方法返回自己本身,它就是可迭代的。對于?string、list、dict、tuple?等這類容器對象,使用for循環(huán)遍歷是很方便的,for?語句實(shí)際上會對容器對象調(diào)用?iter()?函數(shù)。iter()?會返回一個定義了?next()?方法的迭代器對象,它在容器中逐個訪問容器內(nèi)元素,在沒有后續(xù)元素時,next()會拋出一個StopIteration異常。


生成器(Generator)是創(chuàng)建迭代器的簡單而強(qiáng)大的工具。它們寫起來就像是正規(guī)的函數(shù),只是在需要返回?cái)?shù)據(jù)的時候使用yield語句。生成器能做到迭代器能做的所有事,而且因?yàn)樽詣觿?chuàng)建iter()和next()方法,生成器顯得特別簡潔,而且生成器也是高效的,使用生成器表達(dá)式取代列表解析可以同時節(jié)省內(nèi)存。除了創(chuàng)建和保存程序狀態(tài)的自動方法,當(dāng)發(fā)生器終結(jié)時,還會自動拋出StopIteration異常。


Python問題8:生成器和迭代器的區(qū)別?的評論 (共 條)

分享到微博請遵守國家法律
天津市| 盐山县| 丰都县| 梁山县| 瓮安县| 合肥市| 卓资县| 民和| 加查县| 静乐县| 泰宁县| 嘉鱼县| 松滋市| 如东县| 和平区| 宜春市| 南开区| 洪泽县| 深水埗区| 吴旗县| 米易县| 泾源县| 宜都市| 孙吴县| 申扎县| 霍山县| 金昌市| 泗水县| 南雄市| 扎兰屯市| 普安县| 锦州市| 甘孜县| 黑山县| 昆山市| 凤山县| 永丰县| 贵阳市| 隆回县| 海淀区| 台山市|