下一个函数和下一个方法之间的差异

时间:2016-11-21 04:57:08

标签: python

当您通过调用其中包含yield关键字的函数或方法创建生成器时,您将获得一个具有next方法的对象。

据我所知,使用此方法和使用next内置函数之间没有区别。

e.g。 my_generator.next() vs next(my_generator)

那有什么不同吗?如果没有,为什么有两种方法在生成器上调用next?

1 个答案:

答案 0 :(得分:0)

在Python 2中,迭代器的内部方法是Python 3中的next(),它是__next__()。内置函数next()知道这一点,并始终调用正确的方法使代码与两个版本兼容。此外,它还添加了default参数,以便更轻松地处理迭代结束。