迭代:重复做一件事
什么是可迭代对象:iterable
- 支持每次返回自己所包含的一个成员对象
- 对象实现了__iter__方法
- 序列类型:list, str, tuple
- 非序列类型:dict,file
- 用户自定义的包含__iter__()或__getitem__()方法的类.
如果某一个对象拥有__iter__()或__getitem__()方法,当我们for调用此对象时,就会在内存中创建一个可以调用的可迭代对象,利用这个可迭代对象,我们可以进行迭代。
l1.__iter__()
<listiterator at 0x39034e0>
- 迭代器(iterator)又称游标(cursor),他是程序设计的软件设计模式,是一种可在容器物件(container,列表等)上实现元素遍历的接口。
- 迭代器是一种特殊的数据结构,在python中,以对象的形式存在。
- 简单理解方式:对于一个集体中的每一个元素,想要执行遍历,那么针对这个集体的迭代器定义了遍历集体中每一个元素的顺序或方法。
- 迭代器有一个 next() 方法,当你使用一个循环机制(例如 for 语句)需要下一个项时, 调用迭代器的 next() 方法就可以获得它. 条目全部取出后, 会引发一个 StopIteration 异常, 这并不表示错误发生, 只是告诉外部调用者, 迭代完成。也就是说迭代器是不可逆的(不能回到开始),如果要再次迭代同一对象,则再创建一个迭代器即可。
- 使用iter()可从任何序列对象中得到迭代器
- for循环可用于任何可迭代对象
网友评论