python-类对象的遍历操作

视频教程 https://study.163.com/course/courseLearn.htm?courseId=1005985001#/learn/video?lessonId=1053351122&courseId=1005985001

#类对象的遍历
#方式一:
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('还在执行吗')

天子骄龙

原文地址:https://www.cnblogs.com/liming19680104/p/10801837.html