私はOOP pythonで実験しており、__repr__
関数の継承。親クラス関数は次のように見えたため:
def __repr__(self):
'''Returns representation of the object'''
return("{}({!r})".format("Class name", self._param))
次のような一般的なアプローチ(子供のクラスにも適している)を使用する方が良いかどうかを知りたかったのです。
def __repr__(self):
'''Returns representation of the object'''
return("{}({!r})".format(self.__class__.__name__, self._param))
または、すべてのクラスで関数をオーバーライドすることをお勧めします。
また、エンコーディング部分は無視するので無視してください。
はい--それは単に「OK」ではありませんが、ほとんどすべてのプロジェクトおよびクラス階層でより実用的です。
実際、これはクラス継承を使用する場合のほぼ完璧な「教科書の例」であり、スーパークラスのコードを再利用できます。