1. 程式人生 > >14.12.3類的特殊成員3

14.12.3類的特殊成員3

Python 特殊方法

類的特殊成員

__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

14.12.3類的特殊成員3