迭代器
# 创建一个返回数字的迭代器,初始值为 1,逐步递增 1:
class MyNumbers:
def __iter__(self):
self.a = 0
return self
def __next__(self):
self.a = self.a + 1
return self.a
# 奇数迭代器
class MyOddNumbers:
def __iter__(self):
self.num = 1
return self
def __next__(self):
self.num = self.num + 2
return self.num
# 偶数迭代器
class MyEvenNumbers:
def __iter__(self):
self.num = 0
return self
def __next__(self):
self.num = self.num + 2
return self.num
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print("======================================")
my_odd_numbers = MyOddNumbers()
my_odd_numbers_iter = iter(my_odd_numbers)
print(next(my_odd_numbers_iter))
print(next(my_odd_numbers_iter))
print(next(my_odd_numbers_iter))
print(next(my_odd_numbers_iter))
print("======================================")
my_even_numbers = MyEvenNumbers()
my_even_numbers_iter = iter(my_even_numbers)
print(next(my_even_numbers_iter))
print(next(my_even_numbers_iter))
print(next(my_even_numbers_iter))
print(next(my_even_numbers_iter))