Pythonのクラスは、オブジェクト指向プログラミングの標準的な機能を全て提供しています。クラスはデータと機能を組み合わせる方法を提供し、新規にクラスを作成することで、新しいオブジェクトの型を作成し、その型を持つ新しいインスタンスが作れます。
Pythonのクラスは、C++とModula-3のクラスメカニズムを混ぜたもので、クラスの継承メカニズムは、複数の基底クラスを持つことができ、派生クラスで基底クラスの任意のメソッドをオーバライドすることができます。
また、Pythonではモジュールに定義されているクラス一覧を取得することも可能です。以下にその方法を示します。
import foo
import inspect
classes = map(lambda x:x[0],inspect.getmembers(foo,inspect.isclass))
print(classes) # => ['foo1','foo2','foo3']
このコードは、fooモジュールに定義されているすべてのクラスを取得し、そのクラス名を出力します。
以上の情報を参考に、Pythonのクラスについて更に深く理解し、効果的に利用することができるでしょう。