Phillip J. Eby <[EMAIL PROTECTED]> wrote: > Jp Calderone wrote: > > I'd skip that, though. Your problem doesn't sound "Metaclass!" at > me. > > I wonder if you could elaborate on your usage? Perhaps there's a > better > > solution which doesn't involve metaclasses at all. > > I suspect he could *maybe* get by without the metaclass, but not > without custom descriptors, which don't always work for classic > classes. In particular, if a Java exception has a static method, he'll > want to map that to a Python classmethod or staticmethod, and as far as > I recall, that stuff just doesn't work with classic classes.
I believe they work fine: >>> class sic: ... @staticmethod ... def hello(): print "Hello world" ... >>> sic.hello() Hello world Class-sick classes have many little niggling problems, but I think staticmethod and classmethod aren't among them. > In particular, if a Java class has both a static method and a > non-static method of the same name, there's no way that I know of to > map it into Python using a classic class; you *have* to have a > metaclass with a data descriptor in order to prevent a __dict__ lookup > on the class itself. Well, that's another ball of wax. Does Java support that kind of overloading...?! Eeek. I believe C++ doesn't and for once is simpler thereby. Alex -- http://mail.python.org/mailman/listinfo/python-list