• 技术文章 >常见问题 >Python常见问题

    python不支持next方法吗

    silencementsilencement2019-10-26 15:44:19原创2193

    Python3中的File对象不支持next()方法。 Python 3有一个内置函数next(),它通过调用其next ()方法从迭代器中检索下一个项目。 如果给定了默认值,则在迭代器耗尽返回此默认值,否则会引发StopIteration。 该方法可用于从文件对象读取下一个输入行。

    语法

    以下是next()方法的语法 -

    next(iterator[,default])

    参数

    iterator − 要读取行的文件对象default − 如果迭代器耗尽则返回此默认值。 如果没有给出此默认值,则抛出 StopIteration 异常

    返回值

    此方法返回下一个输入行

    英文文档:

    next(iterator[, default])
    Retrieve the next item from the iterator by calling its __next__() method. If default is given, it is returned if the 
    iterator is exhausted, otherwise StopIteration is raised.

    说明:

    1. 函数必须接收一个可迭代对象参数,每次调用的时候,返回可迭代对象的下一个元素。如果所有元素均已经返回过,则抛出StopIteration 异常。

    >>> a = iter('abcd')
    >>> next(a)
    'a'
    >>> next(a)
    'b'
    >>> next(a)
    'c'
    >>> next(a)
    'd'
    >>> next(a)
    Traceback (most recent call last):
     File "<pyshell#18>", line 1, in <module>
      next(a)
    StopIteration

    2. 函数可以接收一个可选的default参数,传入default参数后,如果可迭代对象还有元素没有返回,则依次返回其元素值,如果所有元素已经返回,则返回default指定的默认值而不抛出StopIteration 异常。

    >>> a = iter('abcd')
    >>> next(a,'e')
    'a'
    >>> next(a,'e')
    'b'
    >>> next(a,'e')
    'c'
    >>> next(a,'e')
    'd'
    >>> next(a,'e')
    'e'
    >>> next(a,'e')
    'e'

    更多学习内容,请点击Python学习网

    专题推荐:next
    上一篇:python中的不等于怎么写 下一篇:python编程平台免费吗

    相关文章推荐

    • python生成器中的send()方法和next()方法• 神秘而强大的Python生成器精讲• python中yield生成器用法详解

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网