[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

AltStyle によって変換されたページ (->オリジナル) /