1.容器对象:
容器是一系列元素的集合,str、list、set、dict对象都可以看作是容器,容器都可以被迭代(用在for,while等语句中)
在了解完容器对象之后,我们来了解一种特殊的容器对象之可迭代对象。
2.可迭代对象:
(1)是什么?
顾名思义,可迭代对象指的就是可以被迭代的对象。迭代指的就是通过循环不断产生“元素”的一种访问“元素”的方式。所以可迭代对象也可以简单理解为可以作用于循环中充当“循环体”的对象。
(2)分类?
①普通的可迭代对象:str、list、set、dict等
②迭代器对象:一种特殊的可迭代对象。
在了解完可迭代对象之后,我们来了解一种特殊的可迭代对象之迭代器对象。
3.迭代器对象:
(1)是什么?
可以被next函数调用并且不断返回下一个值的对象。
(2)为什么?
通过使用迭代器对象,可以节省内存空间。
(3)怎么做?
通过调用iter()方法来将非迭代器对象转换成迭代器对象。
(4)特性:
对象中的“元素”只能通过不断迭代来获取而没办法一次性访问对象中的所有“元素”。
在了解完迭代器对象之后,我们来了解一种特殊的迭代器对象之生成器对象。
4.生成器对象:
(1)是什么?
一种特殊的迭代器对象。
(2)与普通的迭代器对象的区别:
两者的实现方式不同:
普通的迭代器对象的实现方法一般是需要实现__iter__()、__next__()方法。而在生成器中则可以通过两种方式来实现:
①在函数中添加yield关键字。
②把列表推导式的中括号改成小括号。