python 使用魔术方法__iter__创建可迭代对象

时光怂恿深爱的人放手 提交于 2020-01-24 19:04:48

如果想要创建可迭代对象,在类中定义__iter__方法, iter内部返回一个迭代器(生成器也是一种特殊迭代器)变成类似像list对象那样的可迭代对象

class Foo(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def func(self):
        pass

    def __iter__(self):
        # return iter([11,22,33,44,55,66])

        yield 11
        yield 22
        yield 33

# obj1是Foo类的一个对象,可迭代对象

obj1 = Foo('Tom',98)

for item in obj1:
    print(item)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!