1.iterator
: 迭代器对象,也属于python的名词,只能迭代一次。需要满足如下的迭代器协议
- 定义了
__iter__
方法,但是必须返回自身 - 定义了
next
方法,在python3.x是__next__
。用来返回下一个值,并且当没有数据了,抛出StopIteration
可以保持当前的状态
2.类实现__call__方法,那么类的实例就变成了可调用对象,相当于重载了()运算符,可以当做函数来使用。
参考:
Python中的可调用对象
python可调用对象
python迭代器与生成器小结
Python可迭代对象,迭代器,生成器的区别
完全理解Python迭代对象、迭代器、生成器