我有 3 个对象Item1、Item2和一个自定义迭代器。Item2 与 Item1 相同,但它__iter__()比 Item1 多实现一个函数,__iter__()将返回一个自定义迭代器。
class Item1():
def __init__(self, stop):
self.stop = stop
def __len__(self):
return self.stop - 1
def __getitem__(self, index):
if index < self.stop:
return index + 1
raise IndexError
class Item2():
def __init__(self, stop):
self.stop = stop
def __len__(self):
return self.stop - 1
def __getitem__(self, index):
if index < self.stop:
return index + 1
raise IndexError
def __iter__(self):
iterator = MyIterator(self.stop)
return iterator
class …Run Code Online (Sandbox Code Playgroud)