类的特殊成员
__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
原文地址:http://blog.51cto.com/10777193/2102979
时间: 2024-10-13 13:59:53