私はサブクラスがいくつかのメソッドをオーバーライドできないときににいくつかの機能を実装することができることを知っています。サブクラスが特定の基本クラスメソッドをオーバーライドする場合にのみ発生しますか?
def some_method(self):
raise NotImplementedError
しかし、私は反対のことを行うことができますどのように、すなわち、サブクラスはこのメソッドをオーバーライドしないだけ昇給?
ありがとうございます!
編集:私は名前空間の衝突が、ここでは適用されませんのGetItem/GETATTRをオーバーライドから人々を防ぐためにしようとしています。
編集:既にサブクラスメソッドがベースクラスメソッドかどうかを確認しようとしました。これはPythonではなくCPythonで動作します。オールラウンドソリューションはありますか?
を高めることですか?おそらく二重アンダースコア規則を代わりに使用するべきですか? –
[Pythonのサブクラスで実装メソッド名の衝突を回避する]の可能な複製(https://stackoverflow.com/questions/30543615/python-avoiding-implementation-method-name-clashes-in-subclass) –
私は防止しようとしています'__getitem__/__getattr__'をオーバーライドします –