国际访客建议访问 Primers 编程伙伴 国际版站点 > Python 教程 > next 以获得更好的体验。

# Python 的内置函数 next

请查看 Python 内建函数列表 了解更多相关 API。

说明:获取迭代器的下一数据项(调用对象的 __next__ 方法)。

# 函数说明

def next(iterator):
    '''
    获取迭代器的下一数据项,
    没有下一项时产生 StopIteration 异常

    :param iterator: 一个迭代器
    :return: 迭代器的下一项
    '''

!subtitle:说明

通过调用对象的 __next__ 方法,获取异步迭代器的下一数据项。

异步迭代器没有下一项时,应当从 __next__ 方法中通过抛出 StopIteration 异常进行通知,next 函数会将该异常继续抛出。

!subtitle:参数

  • iterator - 一个可迭代对象

!subtitle:返回值

迭代器的下一项数据;如果迭代器没有下一项,则抛出 StopIteration 异常。


def next(iterator, default):
    '''
    获取迭代器的下一数据项,没有下一项时返回 default

    :param iterator: 一个迭代器
    :param default: 默认值
    :return: 迭代器的下一项
    '''

!subtitle:说明

通过调用对象的 __next__ 方法,获取异步迭代器的下一数据项。

异步迭代器没有下一项时,应当从 __next__ 方法中通过抛出 StopIteration 异常进行通知,next 函数会返回 default 参数传入的默认值。

!subtitle:参数

  • iterator - 一个可迭代对象

  • default - 迭代器没有下一项时返回的默认值

!subtitle:返回值

迭代器的下一项数据;如果迭代器没有下一项,则返回 default 参数传入的默认值。

# 示例

运行示例

# 迭代器类
class Iterator:
    def __init__(self, stop):
        self.__stop = stop
        self.__current = 0
    
    def __next__(self):
        if self.__current < self.__stop:
            self.__current += 1
            return self.__current - 1
        else:
            raise StopIteration

# 迭代器对象
iterator = Iterator(10)

# 迭代
while (value := next(iterator, None)) is not None:
    print(value)

# 推荐阅读

本文 更新于: 2025-11-27 09:37:59 创建于: 2025-11-27 09:37:59