[Python-3000] Metaclasses in Py3K (original) (raw)

Thomas Heller theller at ctypes.org
Fri Dec 8 19:37:28 CET 2006


Talin schrieb:

Guido van Rossum wrote:

I've been thinking about this too, and I think it's reasonable to let the metaclass provide the dict to be used as locals. This is easier when the metaclass is given in the class header, e.g. by way of a base class, or through the default metaclass. Although the default default metaclass could of course have a hook to pass things on to another metaclass specified using a metaclass assignment, I'd rather innovate a bit more and add keyword arguments to the class header, e.g.

class C(B1, B2, metaclass=Foo): ... Although, I'm not sure a discussion is needed - I think your syntax is fine, better than what we have now, and I have no objection to it. Here's a use case example: # Define a C-struct rectangle class Rect(metaclass=ctypes.struct): x = ctypes.int32 y = ctypes.int32 width = ctypes.int32 height = ctypes.int32

Wouldn't it be nice also if functions called with named arguments were able to reconstruct the order in which arguments were passed?

Having a way to provide the type of dict that will be used as **kw?

(Since I normally dor not follow the discussions on this list I have no idea if this has been discussed already or is in a PEP.)

Thomas



More information about the Python-3000 mailing list