Python教程自学网欢迎您来学习!
当前位置: 首页 > django > python可迭代对象的本质探究

python可迭代对象的本质探究

   

python可迭代对象的本质探究

1.迭代器提供一个这样的中间工具,帮助对其进行迭达遍历使用。

2、可迭代对象通过__iter__方法向我们提供一个迭代器,我们在迭代一个可迭代对象时,实际上是先获取该对象提供的一个迭代器,然后通过这个迭代器来一次获取对象中的每一个数据。

换句话说,一个具备__iter__方法的对象,就是一个可迭代对象。

实例

>>> class MyList(object):
... def __init__(self):
...  self.container = []
... def add(self, item):
...  self.container.append(item)
... def __iter__(self):
... """返回⼀个迭代器"""
... # 我们暂时忽略如何构造⼀个迭代器对象
...  pass
...
>>> mylist = MyList()
>>> from collections import Iterable
>>> isinstance(mylist, Iterable)
True
>>>
# 这回测试发现添加了__iter__⽅法的mylist对象已经是⼀个可迭代对象了