mirror of
https://github.com/python/cpython.git
synced 2025-10-09 16:34:44 +00:00
PEP 3114: rename .next() to .__next__() and add next() builtin.
This commit is contained in:
parent
4d2adcca52
commit
a18af4e7a2
83 changed files with 495 additions and 425 deletions
|
@ -17,7 +17,7 @@ class I:
|
|||
self.i = 0
|
||||
def __iter__(self):
|
||||
return self
|
||||
def next(self):
|
||||
def __next__(self):
|
||||
if self.i >= len(self.seqn): raise StopIteration
|
||||
v = self.seqn[self.i]
|
||||
self.i += 1
|
||||
|
@ -37,7 +37,7 @@ class X:
|
|||
def __init__(self, seqn):
|
||||
self.seqn = seqn
|
||||
self.i = 0
|
||||
def next(self):
|
||||
def __next__(self):
|
||||
if self.i >= len(self.seqn): raise StopIteration
|
||||
v = self.seqn[self.i]
|
||||
self.i += 1
|
||||
|
@ -50,11 +50,11 @@ class E:
|
|||
self.i = 0
|
||||
def __iter__(self):
|
||||
return self
|
||||
def next(self):
|
||||
def __next__(self):
|
||||
3 // 0
|
||||
|
||||
class N:
|
||||
'Iterator missing next()'
|
||||
'Iterator missing __next__()'
|
||||
def __init__(self, seqn):
|
||||
self.seqn = seqn
|
||||
self.i = 0
|
||||
|
@ -76,17 +76,17 @@ class EnumerateTestCase(unittest.TestCase):
|
|||
def test_getitemseqn(self):
|
||||
self.assertEqual(list(self.enum(G(self.seq))), self.res)
|
||||
e = self.enum(G(''))
|
||||
self.assertRaises(StopIteration, e.next)
|
||||
self.assertRaises(StopIteration, next, e)
|
||||
|
||||
def test_iteratorseqn(self):
|
||||
self.assertEqual(list(self.enum(I(self.seq))), self.res)
|
||||
e = self.enum(I(''))
|
||||
self.assertRaises(StopIteration, e.next)
|
||||
self.assertRaises(StopIteration, next, e)
|
||||
|
||||
def test_iteratorgenerator(self):
|
||||
self.assertEqual(list(self.enum(Ig(self.seq))), self.res)
|
||||
e = self.enum(Ig(''))
|
||||
self.assertRaises(StopIteration, e.next)
|
||||
self.assertRaises(StopIteration, next, e)
|
||||
|
||||
def test_noniterable(self):
|
||||
self.assertRaises(TypeError, self.enum, X(self.seq))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue