# 迭代器 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---写一个迭代器
最新推荐文章于 2025-05-26 00:00:00 发布