Skip to content

Instantly share code, notes, and snippets.

@whal-e3
Last active November 4, 2020 06:48
Show Gist options
  • Select an option

  • Save whal-e3/1b36e09a4d3572a44c2cfb54ec71acb0 to your computer and use it in GitHub Desktop.

Select an option

Save whal-e3/1b36e09a4d3572a44c2cfb54ec71acb0 to your computer and use it in GitHub Desktop.
Python OOP User defined iterator ( how to use __iter__ and __next__ )
class EvenNum:
def __init__(self, size) -> None:
self.size = size
print(self, end=" : ")
def __iter__(self):
self.count = 0
return self
def __next__(self):
self.count += 1
if self.count > self.size:
raise StopIteration
return 2 * self.count
test = EvenNum(5)
even = iter(test)
print(next(even), end=" ")
print(next(even), end=" ")
print(next(even), end=" ")
print(next(even), end=" ")
print(next(even), end=" ")
print(next(even), end=" ")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment