【问题标题】:difference between the next function and the next method [duplicate]下一个函数和下一个方法之间的区别[重复]
【发布时间】:2017-04-04 10:17:09
【问题描述】:

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

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

例如my_generator.next()next(my_generator)

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

【问题讨论】:

标签: python


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2020-08-30
    相关资源
    最近更新 更多