From 5c25076ad1a43f4be94894aaf579c483d0700eba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20G=C3=B6r?= Date: Sat, 2 Sep 2023 12:35:00 +0300 Subject: [PATCH] Sample Iterable example 1 --- python-temel/SampleIterable.py | 22 ++++++++++++++++++++++ python-temel/SampleIterable.py~ | 16 ++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 python-temel/SampleIterable.py create mode 100644 python-temel/SampleIterable.py~ diff --git a/python-temel/SampleIterable.py b/python-temel/SampleIterable.py new file mode 100644 index 0000000..803df49 --- /dev/null +++ b/python-temel/SampleIterable.py @@ -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() diff --git a/python-temel/SampleIterable.py~ b/python-temel/SampleIterable.py~ new file mode 100644 index 0000000..f173d6c --- /dev/null +++ b/python-temel/SampleIterable.py~ @@ -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]