g.next()
已重命名为g.__next__()
。这样做的原因是一致性:特殊的方法(例如__init__()
和)__del__()
都带有双下划线(在当前情况下为“ dunder”),并且.next()
是该规则的少数例外之一。这已在Python 3.0中修复。[*]
但是,请不要g.__next__()
使用next(g)
。
在Python 3中是否可以看到generator.next()?
g.next()
已重命名为g.__next__()
。这样做的原因是一致性:特殊的方法(例如__init__()
和)__del__()
都带有双下划线(在当前情况下为“ dunder”),并且.next()
是该规则的少数例外之一。这已在Python 3.0中修复。[*]
但是,请不要g.__next__()
使用next(g)
。