On 4/13/06, Ian D. Bollinger <[EMAIL PROTECTED]> wrote: > I guess I fail to see how this syntax is a significant improvement over > metaclasses (though __metaclass__ = xyz may not be the most aesthetic > construct.)
It doesn't seem strange to you to have to use a *class* statement and a __meta*class*__ hook to create something that's not a class at all? Consider >>> def get_dict(name, args, kwargs): ... return kwargs ... >>> class C(object): ... __metaclass__ = get_dict ... x = 1 ... y = 2 ... >>> C {'y': 2, 'x': 1, '__module__': '__main__', '__metaclass__': <function get_dict at 0x00DB9F70>} When I read a class statement, even if it specifies __metaclass__, I assume that it will create a class object. I believe the average reader of Python code will make similar assumptions. Sure, we can abuse class/__metaclass__ to do something similar[1], but is that really a good idea? [1] Minor issue - you have to be okay with the class statement adding __module__ and __metaclass__ to your dict. Steve -- Grammar am for people who can't think for myself. --- Bucky Katt, Get Fuzzy _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com