[Python-Dev] Let's get rid of unbound methods
Guido van Rossum
gvanrossum at gmail.com
Tue Jan 4 21:18:15 CET 2005
[me]
> > Actually, unbound builtin methods are a different type than bound
> > builtin methods:
[Jim]
> Of course, but conceptually they are similar. You would still
> encounter the concept if you got an unbound builtin method.
Well, these are all just implementation details. They really are all
just callables.
[Jp]
> This would make pickling (or any serialization mechanism) of
> `Class.method' based on name next to impossible. Right now, with
> the appropriate support, this works:
>
> >>> import pickle
> >>> class Foo:
> ... def bar(self): pass
> ...
> >>> pickle.loads(pickle.dumps(Foo.bar))
> <unbound method Foo.bar>
> >>>
>
> I don't see how it could if Foo.bar were just a function object.
Is this a purely theoretical objection or are you actually aware of
anyone doing this? Anyway, that approach is pretty limited -- how
would you do it for static and class methods, or methods wrapped by
other decorators?
--
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list