#類對象的遍歷 #方式一: class Person: def __init__(self): self.age = 0 def __getitem__(self, item): self.age=self.age+1 if self.age >= 10: raise StopIteration('停止遍歷') #拋出異常 return self.age d=Person() for i in d:#d 每次執行__getitem__獲取它的返回值,遇到異常結束遍歷 print(i) print('還在執行嗎')
#類對象的遍歷 #方式二: class Person: def __init__(self): self.age = 0 def __getitem__(self, item): print('__getitem__函數') self.age=self.age+1 if self.age >= 10: raise StopIteration('停止遍歷') #拋出異常 return self.age def __iter__(self): print('__iter__函數') return iter([10,20,30,40,50]) d=Person() for i in d:#執行__iter__函數獲取它的返回值,返回值類型:迭代器 #__iter__函數不存在就執行__getitem__函數,__iter__函數要是存在就執行__iter__函數 print(i) print('還在執行嗎')
天子驕龍