Why not assign __init__ to superclass's __init__?
<p>Why don't I ever see the following in Python code?</p>

<pre><code>class A:
    def __init__(self, ...):
        # something important

class B(A):
    __init__ = A.__init__
</code></pre>

<p>It seems to work on my box with Python 2.5, 2.6, 2.7, and PyPy 1.8.</p>

<p>I see the following a lot, instead:</p>

<pre><code>class B(A):
    def __init__(self, *args, **kwargs):
        A.__init__(self, *args, **kwargs)
</code></pre>

<p>or something using <code>super</code>.</p>

<p>I like my first example better (explicit is better than implicit!) but I'm worried that it's not kosher for some reason. Is there something wrong or bad with it?</p>

<p>EDIT: Yep, I meant <code>A.__init__</code>, not <code>self.__init__</code></p>
