最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ū)別?的評論 (共 條)

分享到微博請遵守國家法律
阳新县| 射阳县| 石台县| 汝阳县| 蒙山县| 南投市| 柳江县| 桑日县| 秭归县| 慈溪市| 宜都市| 彝良县| 同德县| 织金县| 绥江县| 东阿县| 广州市| 宜都市| 昌都县| 通辽市| 民县| 荔波县| 施甸县| 榆树市| 华亭县| 河津市| 东安县| 娄底市| 永安市| 桐城市| 铁力市| 同心县| 锦州市| 浮梁县| 内丘县| 祁连县| 玛沁县| 云林县| 阿图什市| 南丰县| 上饶市|