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

分享

Python學習之迭代器和生成器有什么不同?

 老男孩IT教育 2021-01-27

  迭代器和生成器區(qū)別是什么?相信很多人在初學Python的時候對它們都很好奇,接下來我們一起來看看它們的區(qū)別吧。

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

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

  生成器是創(chuàng)建迭代器簡單而強大的工具,像正規(guī)函數(shù),在需要返回數(shù)據(jù)的時候使用yield語句,每次next()被調用時,生成器會返回它脫離的位置。

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多