# 迭代器 class House(object): # 属性初始化 def __init__(self, room): self.room = room # 当前调用对象 self.people = [] # 对象下所有的数据,用列表保存 self.current_index = 0 # 当前遍历到的列表下标 # 添加方法 def add_person(self, person): self.people.append(person) # iter方法,并返回一个迭代器 def __iter__(self): return self # next方法,返回当前记录的所在下标及相应数据 def __next__(self): if self.current_index < len(self.people): current_data = self.people[self.current_index] self.current_index += 1 return current_data else: self.current_index = 0 raise StopIteration def main(): """一个可迭代对象同时又是迭代器""" # 创建一个类对象 bedroom = House('bedroom') # 适用对象可以添加数据 bedroom.add_person('xiaoli') bedroom.add_person('maomao') # 使用for遍历该对象 for person in bedroom: print(person) if __name__ == '__main__': main()
python---写一个迭代器
最新推荐文章于 2022-07-18 23:47:58 发布
本文介绍了如何在Python中创建一个迭代器。通过定义一个名为`House`的类,该类具有`add_person`方法来添加数据,并实现了`__iter__`和`__next__`方法以支持迭代操作。在`main`函数中,展示了如何使用这个迭代器遍历并打印对象中的数据。
1393

被折叠的 条评论
为什么被折叠?



