demo_iterator_create2.py:
class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self): if self.a <= 20: x = self.a self.a += 1 return x else: raise StopIteration myclass = MyNumbers() myiter = iter(myclass) for x in myiter: print(x)
➜ begtut>python demo_iterator_create2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20