Pythonで抽象クラスを作成することは可能ですか?

| |

Pythonでクラスまたはメソッドを抽象化するにはどうすればよいですか?

__ new __()を次のように再定義してみました:

  class F :def __new __(cls):raise Exception( "Unable to create a instance of abstract class%s"%cls) 

しかし、クラス G F から次のように継承します:

  class G(F):pass  

その後、インスタンス化できません G も、スーパークラスの __ new __メソッドを呼び出すためです。

抽象クラスを定義するためのより良い方法はありますか?