14.12.3類的特殊成員3

類的特殊成員

__iter__方法ide

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
相關文章
相關標籤/搜索