您可以打开任何包装Iterable
。这意味着您需要实现该__iter__
方法,并返回一个迭代器。就您而言,这可能只是:
def __iter__(self):
return iter((self.name, self.age, self.gender))
或者,您可以将您的班级设为anIterator
,然后__iter__
将return self
需要执行__next__
;这是更多的工作,可能不值得付出。
根据我上面链接的问题,您还可以使用以下方法实现迭代__getitem__
:
def __getitem__(self, index):
return (self.name, self.age, self.gender)[index]