PY3.E0301
Non-iterator returned
Used when an iter method returns something which is not an iterable (i.e. has no next method).
Noncompliant Code:
Copy
class Iterator:
def __init__(self, end, start=0):
self.n = start
self.end = end
def __iter__(self):
return self
Compliant Code:
Copy
class Iterator:
def __init__(self, end, start=0):
self.n = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.n <= self.end:
n = self.n
self.n += 1
return n
raise StopIteration