[Python-Dev] Let's get rid of unbound methods

Phillip J. Eby pje at telecommunity.com
Tue Jan 4 19:48:24 CET 2005


At 10:28 AM 1/4/05 -0800, Guido van Rossum wrote:

>Of course, more changes would be needed: docs, the test suite, and
>some simplifications to the instance method object implementation in
>classobject.c.
>
>Does anyone think this is a bad idea?

Code that currently does 'aClass.aMethod.im_func' in order to access the 
function object would break, as would code that inspects 'im_self' to 
determine whether a method is a class or instance method.  (Although code 
of the latter sort would already break with static methods, I suppose.)

Cursory skimming of the first 100 Google hits for 'im_func' seems to show 
at least half a dozen instances of the first type of code, though.  Such 
code would also be in the difficult position of having to do things two 
ways in order to be both forward and backward compatible.

Also, I seem to recall once having relied on the behavior of a 
dynamically-created unbound method (via new.instancemethod) in order to 
create a descriptor of some sort.  But I don't remember where or when I did 
it or whether I still care.  :)



More information about the Python-Dev mailing list