2024-10-04 15:30:34 发布
网友
当您通过调用包含yield关键字的函数或方法来生成生成器时,您将得到一个具有next方法的对象。在
yield
next
据我所知,使用这个方法和使用next内建函数没有区别。在
例如my_generator.next()与next(my_generator)
my_generator.next()
next(my_generator)
有什么区别吗?如果没有,为什么有两种方法调用生成器上的next?在
在python2中,迭代器的内部方法是next(),在python3中是__next__()。内置函数next()知道这一点,并且总是调用正确的方法,使代码与两个版本兼容。它还添加了default参数,以便更容易地处理迭代结束。在
next()
__next__()
default
在python2中,迭代器的内部方法是
next()
,在python3中是__next__()
。内置函数next()
知道这一点,并且总是调用正确的方法,使代码与两个版本兼容。它还添加了default
参数,以便更容易地处理迭代结束。在相关问题 更多 >
编程相关推荐