擅长:python、mysql、java
<p>可以,但必须重写在<code>__init__</code>之前隐式调用的<code>__new__</code>:</p>
<pre><code>class Z(X):
def __new__(cls, a, b, c, d):
self = super(Z, cls).__new__(cls, a, b, c)
self.d = d
return self
>>> z = Z(1, 2, 3, 4)
>>> z
Z(a=1, b=2, c=3)
>>> z.d
4
</code></pre>
<p>但是<code>d</code>将只是一个独立的属性</p>
<pre><code>>>> list(z)
[1, 2, 3]
</code></pre>