1.容器:只要實(shí)現(xiàn)contains方法都是容器,可以使用in來(lái)判斷是否存在
2.迭代器:對(duì)象要想使用 for 的方式迭代出容器內(nèi)的所有數(shù)據(jù),這就需要這個(gè)類實(shí)現(xiàn)「迭代器協(xié)議」
????在 Python 中叙甸,實(shí)現(xiàn)迭代器協(xié)議就是實(shí)現(xiàn)以下 2 個(gè)方法:
???? iter:這個(gè)方法返回對(duì)象本身颖医,即 self
???? next:這個(gè)方法每次返回迭代的值,在沒有可迭代元素時(shí)蚁署,拋出 StopIteration 異常
3.可迭代對(duì)像:實(shí)現(xiàn)了iter即是可迭代對(duì)像
4.生成器:「生成器」是一個(gè)特殊的「迭代器」便脊,并且它也是一個(gè)「可迭代對(duì)象」
????生成器表達(dá)式,例如g = (i for i in range(5))
????生成器函數(shù)
def gen(n):
for i in range(n):
yield i