2019-04-04
阅读量:
552
内置函数:next() 和 iter()
为了更方便的手动迭代可迭代对象,Python 3.0 还提供了一个内置函数 next() ,它会自动调用一个对象的 __next__() 方法。也就是说对于一个可迭代对象,使用 next() 内建函数调用和调用其 __next__() 方法是一样的,但是前者要简单很多。
当 for 循环开始时,会将对象传给 iter() 内置函数,以便从可迭代对象中获得一个迭代器,返回的对象含有需要的 __next__() 方法。
对于文件对象来说是不需要调用 iter() 函数的,因为文件对象拥有自己的迭代器。也就是说,文件对象有自己的 __next__() 方法。
列表以及很多其他的内置对象,自身没有 __next__() 方法,也就是没有自身的迭代器,但是它们支持多次打开(创建)迭代器。对于这样的对象,我们必须调用 iter() 函数来为他们创建迭代器,启动迭代。
尽管Python的迭代工具自动调用这些函数,我们也可以使用它们来手动地应用迭代协议。






评论(0)


暂无数据