Python コードで次のように表示されないのはなぜですか?
class A:
def __init__(self, ...):
# something important
class B(A):
__init__ = A.__init__
私のボックスでは、Python 2.5、2.6、2.7、および PyPy 1.8 で動作するようです。
代わりに、次のことがよく見られます。
class B(A):
def __init__(self, *args, **kwargs):
A.__init__(self, *args, **kwargs)
または何かを使用してsuper
います。
私は最初の例の方が気に入っています (明示的は暗黙的よりも優れています!) が、何らかの理由でそれがコーシャではないのではないかと心配しています。何か問題や悪いことがありますか?
編集:はい、そうではA.__init__
ありませんself.__init__