PEP 479: Use the return-keyword instead of raising StopIteration inside a generators.

This commit is contained in:
Raymond Hettinger 2014-11-22 22:14:41 -08:00
parent 828d932a2c
commit bb6c0aaebf
6 changed files with 4 additions and 7 deletions

View File

@ -808,7 +808,7 @@ class _BaseNetwork(_IPAddressBase):
other.broadcast_address <= self.broadcast_address):
raise ValueError('%s not contained in %s' % (other, self))
if other == self:
raise StopIteration
return
# Make sure we're comparing the network of other.
other = other.__class__('%s/%s' % (other.network_address,

View File

@ -1949,7 +1949,7 @@ class _ProxyFile:
while True:
line = self.readline()
if not line:
raise StopIteration
return
yield line
def tell(self):

View File

@ -216,7 +216,7 @@ def iter_format(nitems, testobj='ndarray'):
for t in iter_mode(nitems, testobj):
yield t
if testobj != 'ndarray':
raise StopIteration
return
yield struct_items(nitems, testobj)

View File

@ -511,7 +511,7 @@ class TestOneTrickPonyABCs(ABCTestCase):
class NextOnly:
def __next__(self):
yield 1
raise StopIteration
return
self.assertNotIsInstance(NextOnly(), Iterator)
def test_Sized(self):

View File

@ -1803,8 +1803,6 @@ class RegressionTests(unittest.TestCase):
hist.append(3)
yield 2
hist.append(4)
if x:
raise StopIteration
hist = []
self.assertRaises(AssertionError, list, chain(gen1(), gen2(False)))

View File

@ -260,7 +260,6 @@ class ProfileHookTestCase(TestCaseBase):
def f():
for i in range(2):
yield i
raise StopIteration
def g(p):
for i in f():
pass