Sample Iterable example 1

This commit is contained in:
Mert Gör ☭ 2023-09-02 12:35:00 +03:00
parent 74793c5a93
commit 5c25076ad1
No known key found for this signature in database
GPG Key ID: 2100A876D55B39B9
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,22 @@
class SampleIterable:
def __init__(self, *args):
self.args = args
def __iter__(self):
return SampleIterator(self.args)
class SampleIterator:
def __init__(self, args):
self.args = args
self.index = 0
def __next__(self):
self.index += 1
if self.index > len(self.args):
raise StopIteration
return self.args[self.index - 1]
s = SampleIterable(10, 20, 30)
for x in s:
print(x, end=' ')
print()

View File

@ -0,0 +1,16 @@
class SampleIterable:
def __init__(self, *args):
self.args = args
def __iter__(self):
return SampleIterator(self.args)
class SampleIterator:
def __init__(self, args):
self.args = args
self.index = 0
def __next__(self):
self.index += 1
if self.index > len(self.args):
raise StopIteration
return self.args[self.index - 1]