迭代器和生成器區別是什麼?Python學習!

  迭代器和生成器區別是什麼?相信不少人在初學Python的時候對它們都很好奇,接下來咱們一塊兒來看看它們的區別吧。函數

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

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

  生成器是建立迭代器簡單而強大的工具,像正規函數,在須要返回數據的時候使用yield語句,每次next()被調用時,生成器會返回它脫離的位置。string

  迭代器和生成器區別主要在於生成器能夠作迭代器的事情,生成器是一種特殊的迭代器。it

相關文章
相關標籤/搜索