In Python 3.1, there is a new builtin function I don\'t know in the builtins
module:
__build_class__(...)
__build_class__(func, name, *bases
Compiling the PEP 3115 metaclass
Guido van Rossum said:
The PEP proposes that the class statement accepts keyword arguments,
*args
, and**kwds
syntax as well as positional bases. This is a bit messy to compile and execute, but we already have this, of course, in the code for calling regular functions.So I think it would be acceptable to this into a call to a new (hidden) built-in function, named
__build_class__
. Then that this class definition:class C(A, B, metaclass=M, other=42, *more_bases, *more_kwds): ...
would translate into this:
C = __build_class__(<func>, 'C', A, B, metaclass=M, other=42, *more_bases, *more_kwds)
where
<func>
is a function object for the class body.