Ethan Furman wrote:
Terry Reedy wrote:
On 12/16/2011 4:22 AM, Steven D'Aprano wrote:
On Thu, 15 Dec 2011 19:39:17 -0500, Terry Reedy wrote:
[...]
After reading your post, I think I have worked out where our
disagreement
lies: you think that bound methods and instance methods are not the same
thing,
Do you agree that an unbound method and a bound method are different?
In Python, as indicated by the glossary entry, an unspecified 'method'
is usually meant to be an unbound method.
I think you two are in violent agreement as far as how Python is
functioning, and the conflict is in the names given to the various
pieces... I think a glossary would help (please correct me):
function: callable code suite
method: function that lives in a class
unbound method: function that lives in a class
bound method: callable wrapper around function that has been extracted
from class that will supply the instance object to the function (note:
Python does not save these, they are recreated at each lookup)
I think the above 'bound method' definition should be attributed to
Terry, and Steven's follows:
bound method: callable wrapper around any function that will accept an
instance object as the first parameter, and the wrapper will supply said
instance object when calling the function (and where/how function was
created is irrelevent, as is where the wrapper is stored)
and here is where I think you two diverge:
instance method (Steven): a bound method that has been saved into the
instance __dict__ (no matter how created)
instance method (Terry): a function that must be looked up in the class
Have I missed anything?
Honestly-trying-learn-the-distinctions-ly yours,
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list