Generatorまでの抽象基底クラスの継承関係
GeneratorはIteratorを継承し、IteratorはIterableを継承する
この継承関係により、持つメソッドは、Iterableが一番少なく、Generatorが一番多い
Iterable:__iter__
Iterator:__iter__ , __next__
Generator:__iter__ , __next__ , send, throw, close
IMO:メソッドが一番多く、その分specializedされたIterableと言える
PEP 342 で定義された、イテレータを send(), throw(), close() の各メソッドに拡張するプロトコルを実装する、ジェネレータクラスの ABC
__iter__() メソッドと __next__() メソッドを提供するクラスの ABC
__iter__() メソッドを提供するクラスの ABC