On Dec 11, 2007 1:50 AM, Marcin 'Qrczak' Kowalczyk <[EMAIL PROTECTED]> wrote: > I'm not convinced that Python on its own needs it. Perhaps Python > already distinguishes function-like objects from others rigorously > enough that they should care about being descriptors themselves.
Right. The use case just doesn't exist. > CFunction does not define descr_get - why? Because C functions aren't typically placed in classes defined in Python -- they enter the world through various tables of function pointers linked from the type object. > Maybe it should? I don't see why we should bother. I know it would break all sorts of stuff; lots of code stores a builtin function on a class (for all sorts of reasons), relying on it not having a __get__ method. [...] > I never liked the idea that in Python an instance method is distinguished > from a class member by the fact of being a function. What if someone > wants to have a function as a class member? Now Python has staticmethod > to override this behavior (the method wrapper that we will add or not is > the overriding in the other direction), but it would be more clean if > Python distinguished functions from methods since the beginning, e.g.: > > method self.foo(args): > ... > > with regular functions not being turned into methods, i.e. being > staticmethods by default. Yeah, that won't happen. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com