[Python-Dev] metaclass insanity (original) (raw)
Walter D�rwald walter@livinglogic.de
Tue, 05 Nov 2002 13:35:52 +0100
- Previous message: [Python-Dev] metaclass insanity
- Next message: [Python-Dev] metaclass insanity
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Guido van Rossum wrote:
[...] This won't work for classes defined inside functions though -- those are never picklable. But making them module-global would be a simple enough fix (also more efficient, since the class definition code is executed on every function call).
Can someone provide a reason why you'd want to use nested classes? I've never felt this need myself. What are the motivations?
XIST (http://www.livinglogic.de/Python/xist/) uses nested classes to map XML element types and their attributes to Python classes. For example the HTML element type img looks like this in XIST:
class img(Element): class Attrs(Element.Attrs): class src(URLAttr): required = True class alt(TextAttr): required = True class align(TextAttr): values = ("top", "middle", ...)
Having XML elements as classes makes it possible to add methods for transforming these elements. Defining the attributes via classes is just an extension to that, although there are moments when I'm not so sure, whether this is the best method, but the title of this thread is "metaclass insanity"! ;)
Bye, Walter D�rwald
- Previous message: [Python-Dev] metaclass insanity
- Next message: [Python-Dev] metaclass insanity
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]