[Python-Dev] Let's get rid of unbound methods (original) (raw)

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 imclass. 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 imclass attribute? Who'd be the wiser? (Could the same be done for imself and imfunc 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