[Python-Dev] __metaclass__
Guido van Rossum
guido@python.org
Thu, 29 Nov 2001 16:50:09 -0500
> Maybe I'm missing something, but why doesn't the following
> raise errors:
>
> class X(object):
> __metaclass__ = type
>
> X()
> X(1)
> X(1, 2, 3, a="x", b="y")
>
> I would have expected 'this constructor takes no arguments'
> errors on the last two lines. Or is this expected behaviour?
Neither object.__init__ nor object.__new__ pays any attention to its
argument list. If they did, subclassing would be more difficult.
--Guido van Rossum (home page: http://www.python.org/~guido/)