From f61eda145abfd57e22bbdbaa0601ae78829ff075 Mon Sep 17 00:00:00 2001 From: tengge1 <930372551@qq.com> Date: Mon, 2 Sep 2019 20:10:47 +0800 Subject: [PATCH] iterators --- test/python/class_test.py | 20 ++++++++++++++++++ test/python/iterators.py | 44 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 test/python/class_test.py create mode 100644 test/python/iterators.py diff --git a/test/python/class_test.py b/test/python/class_test.py new file mode 100644 index 00000000..66088033 --- /dev/null +++ b/test/python/class_test.py @@ -0,0 +1,20 @@ +class MyClass: + '''A simple example class''' + i = 12345 + + def __init__(self): + self.i = 123 + + def f(self): + print(self.i) + + +class DerivedClass(MyClass): + pass + +x = DerivedClass() +x.f() + +x.name = 'Test' + +print(x.name) \ No newline at end of file diff --git a/test/python/iterators.py b/test/python/iterators.py new file mode 100644 index 00000000..597e4e11 --- /dev/null +++ b/test/python/iterators.py @@ -0,0 +1,44 @@ +for i in [1, 2, 3]: + print(i) + +for i in (4, 5, 6): + print(i) + +for i in {'a': 1, 'b': '2'}: + print(i) + +a = iter('111') +print(next(a)) +print(next(a)) +print(next(a)) + + +class Reverse: + def __init__(self, data): + self.data = data + self.index = len(data) + + def __iter__(self): + return self + + def __next__(self): + if self.index == 0: + raise StopIteration + self.index = self.index - 1 + return self.data[self.index] + + +rev = Reverse('spam') +print(iter(rev)) + +for char in rev: + print(char) + + +def reverse(data): + for index in range(len(data) - 1, -1, -1): + yield data[index] + + +for char in reverse('golf'): + print(char)