Adding method to object

Dave Benjamin ramen at lackingtalent.com
Wed Dec 3 15:26:00 EST 2003


In article <72krsvcpeur8hhu74s4bhlsq3bf60fu055 at 4ax.com>, Gonçalo Rodrigues wrote:
> If you want to leave out the f as arg (call it like an instance
> method) then
> 
>>>> import new
>>>> help(new.instancemethod)
> Help on class instancemethod in module __builtin__:
> 
> class instancemethod(object)
> |  instancemethod(function, instance, class)
> |  
> |  Create an instance method object.
> |  
> ...
> 
> And
> 
> new.instancemethod(incr, f, f.__class__)
> 
> Should do the trick.

I tried to bring this up several weeks ago but nobody replied, so I'm
bringing it up again. I still see people recommending "new.instancemethod",
yet "help(new)" says that the "new" module is deprecated. The seemingly
identical "types.MethodType" ought to be its replacement, even though I
think "new.instancemethod" is more clear. If you stringify types.MethodType,
it says "<type 'instancemethod'>". The help for instancemethod, above, says
that instancemethod is in the __builtin__ module, but it is neither a
builtin nor available in the __builtin__ module. This is confusing. Can we
decide on a community standard for the appropriate way to create new
instance methods, and resolve the documentation discrepancies?

Thankya kindly,
Dave

-- 
.:[ dave benjamin (ramenboy) -:- www.ramenfest.com -:- www.3dex.com ]:.
: d r i n k i n g   l i f e   o u t   o f   t h e   c o n t a i n e r :




More information about the Python-list mailing list