next()
是功能,所以它在functions documentation列出:
next(iterator[, default])
通过调用其__next__()
方法检索从迭代器中的下一个项目。如果给出默认,则在迭代器耗尽时返回,否则返回StopIteration
。
第二种说法则是默认的,如果返回提出iterator.__next__()
StopIteration
。如果没有缺省设置,在StopIteration
异常没有被捕获,但传播:
>>> def gen():
... yield 1
...
>>> g = gen()
>>> next(g, 'default')
1
>>> next(g, 'default')
'default'
>>> g = gen()
>>> next(g, 'default')
1
>>> next(g) # no default
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
默认是多余的,而你给了具体的例子,作为(x**2 for x in range(0,100))
发电机表达是保证至少有一个结果。
PyCharm可以向您展示Python标准库函数的文档;只需使用快速文档功能(CTRL-Q)。
第二个参数是默认:https://docs.python.org/3/library/functions.html#next –
'在内置功能帮助下一模块__builtin__: 未来(...) next(iterator [,default]) 返回迭代器中的下一项。如果给出默认值并且迭代器 用尽,则返回而不是提高StopIteration.' 这就是我从python interpeter'help(next)' –
@ juanpa.arrivillaga,很好!如果您可以添加回复,我会将其标记为回复以惠及其他人。 –