面向对象6 类特殊成员之 __iter__()

如果对对象执行for循环时,自动执行类中的__iter__()方法

class Foo:
    def __init__(self):
        self.name = "TOM"
    
    def __iter__(self):  #方法中包含可迭代的对象,比如yield生成器生成的是可迭代的对象
        yield 1
        yield 2
        yield 3
  
r = Foo()
for i in r:
    print(i)

输出:
        1
        2
        3

 

posted @ 2018-10-04 15:14  greenfan  阅读(110)  评论(0)    收藏  举报