What exactly are bound methods?
Michele Simionato
mis6 at pitt.edu
Tue Nov 25 01:02:23 EST 2003
kylotan at hotmail.com (Kylotan) wrote in message news:<153fa67.0311231859.551b673 at posting.google.com>...
> Although I see lots of references to them in various documentation, I
> can't find a decent explanation of exactly what they are. I'm guessing
> that it's a reference to a method that remembers which object it came
> from, and that when it's called, it passes that object as the first
> parameter (which would conventionally be 'self'). Is this correct?
If you really want to learn the difference between functions, methods
and bound methods, you must learn descriptors:
http://users.rcn.com/python/download/Descriptor.htm
Warning: the study of descriptors may cause your head to explode ...
>>> def f(self): pass
...
>>> class C(object): pass
...
>>> c=C()
>>> f.__get__(c,C)
<bound method C.f of <__main__.C object at 0x017716D0>>
>>> f.__get__(None,C)
<unbound method C.f>
>>>
More information about the Python-list
mailing list