#Python 的内置函数 next
说明:获取迭代器的下一数据项(调用对象的 __next__
方法)。
#函数说明
def next(iterator):
'''
获取迭代器的下一数据项,
没有下一项时产生 StopIteration 异常
:param iterator: 一个迭代器
:return: 迭代器的下一项
'''
说明
通过调用对象的 __next__
方法,获取异步迭代器的下一数据项。
异步迭代器没有下一项时,应当从 __next__
方法中通过抛出 StopIteration
异常进行通知,next
函数会将该异常继续抛出。
参数
iterator
- 一个可迭代对象
返回值
迭代器的下一项数据;如果迭代器没有下一项,则抛出 StopIteration
异常。
def next(iterator, default):
'''
获取迭代器的下一数据项,没有下一项时返回 default
:param iterator: 一个迭代器
:param default: 默认值
:return: 迭代器的下一项
'''
说明
通过调用对象的 __next__
方法,获取异步迭代器的下一数据项。
异步迭代器没有下一项时,应当从 __next__
方法中通过抛出 StopIteration
异常进行通知,next
函数会返回 default
参数传入的默认值。
参数
iterator
- 一个可迭代对象default
- 迭代器没有下一项时返回的默认值
返回值
迭代器的下一项数据;如果迭代器没有下一项,则返回 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)