14.12.3类的特殊成员3

类的特殊成员

__iter__方法

class foo:

    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __iter__(self):
        return iter([1,2,3,4])

li=foo("jiaxin",8)
# 如果类中有__iter__方法,对象就是可迭代对象
# 对象.__iter__()的返回值:迭代器
# for 循环:迭代器,next
# for 循环,可迭代对象,先获取对象的__iter__方法,变成迭代器,再next
#1.执行li对象中的__iter__方法,并获得其返回值
#2.循环上一步中返回的对象
#循环的不是对象,是对象__iter__中的返回值
for i in li:
    print(i)
# 1
# 2
# 3
# 4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章