[Python-Dev] Let's get rid of unbound methods
Alex Martelli
aleax at aleax.it
Wed Jan 5 12:11:37 CET 2005
On 2005 Jan 05, at 04:42, Barry Warsaw wrote:
> On Tue, 2005-01-04 at 18:01, Jack Jansen wrote:
>
>> But I'm more worried about losing the other information in an unbound
>> method, specifically im_class. I would guess that info is useful to
>> class browsers and such, or are there other ways to get at that?
>
> That would be my worry too. OTOH, we have function attributes now, so
> why couldn't we just stuff the class on the function's im_class
> attribute? Who'd be the wiser? (Could the same be done for im_self
> and
> im_func for backwards compatibility?)
Hmmm, seems to me we'd need copies of the function object for this
purpose:
def f(*a): pass
class C(object): pass
class D(object): pass
C.f = D.f = f
If now we want C.f.im_class to differ from D.f.im_class then we need f
to get copied implicitly when it's assigned to C.f (or, of course, when
C.f is accessed... but THAT might be substantial overhead). OK, I
guess, as long as we don't expect any further attribute setting on f to
affect C.f or D.f (and I don't know of any real use case where that
would be needed).
Alex
More information about the Python-Dev
mailing list