可迭代对象补充
-
表象:可以被for循环的对象就可以称为可迭代对象:x,[1,2,3]、{},但是list是一个类不是一个可迭代对象
-
在类中实现_ _iter _ _方法且返回一个迭代器(生成器)
class Foo: def __iter__(self): return iter([1,2,3,4]) #只是返回了一个可迭代的函数,并没有把其完全展现出来 obj = Foo() class Foo: def __iter__(self): yield 1 yield 2 yield 3 obj = Foo() for i in obj:#一循环便执行,拿到yield的每一个返回值 print(i)
- 记住:只要能被for循环就去看他内部iter方法。