迭代器和装饰器
⽣成器(Generators)
⾸先我们要理解迭代器(iterators)。根据维基百科,迭代器是⼀个让程序员可以遍历⼀个容 器(特别是列表)的对象。然⽽,⼀个迭代器在遍历并读取⼀个容器的数据元素时,并不 会执⾏⼀个迭代。你可能有点晕了,那我们来个慢动作。换句话说这⾥有三个部分:
- 可迭代对象(Iterable)
- 迭代器(Iterator)
- 迭代(Iteration)
上⾯这些部分互相联系。我们会先各个击破来讨论他们,然后再讨论⽣成器
可迭代对象(Iterable)
Python 中任意的对象,只要它定义了可以返回⼀个迭代器的 __iter__
⽅法,或者定义了
可以⽀持下标索引的__getitem__
⽅法(这些双下划线⽅法会在其他章节中全⾯解释),
那么它就是⼀个可迭代对象 ...