午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python學(xué)習(xí)之迭代器和生成器有什么不同?

 老男孩IT教育 2021-01-27

  迭代器和生成器區(qū)別是什么?相信很多人在初學(xué)Python的時(shí)候?qū)λ鼈兌己芎闷?,接下?lái)我們一起來(lái)看看它們的區(qū)別吧。

  迭代器是一個(gè)更抽象的概念,任何對(duì)象,如果它的類(lèi)有next方法和iter方法返回自己的本身,對(duì)于string、list、dict、tuple等這類(lèi)容器對(duì)象,使用for循環(huán)會(huì)更加方便。在后臺(tái)for語(yǔ)句對(duì)容器對(duì)象調(diào)用iter()函數(shù),iter()是Python內(nèi)置函數(shù)。

  iter()會(huì)返回一個(gè)定義了next()方法的迭代器對(duì)象,在容器中逐個(gè)訪問(wèn)容器內(nèi)元素,next()也是Python的內(nèi)置函數(shù),無(wú)后續(xù)元素時(shí),next()會(huì)拋出一個(gè)StopIteration異常

  生成器是創(chuàng)建迭代器簡(jiǎn)單而強(qiáng)大的工具,像正規(guī)函數(shù),在需要返回?cái)?shù)據(jù)的時(shí)候使用yield語(yǔ)句,每次next()被調(diào)用時(shí),生成器會(huì)返回它脫離的位置。

  迭代器和生成器區(qū)別主要在于生成器可以做迭代器的事情,生成器是一種特殊的迭代器。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多