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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章