On 5/15/2015 5:54 PM, BartC wrote:
What /is/ a method lookup? Is it when you have this:
A.B()
This is parsed as (A.B)()
and need to find whether the expression A (or its class or type) has a
name B associated with it?
Yes. Dotted names imply an attribute lookup.
(And it then needs to check whether B is something that can be called.)
The object resulting from the attribute lookup, A.B (not B exactly), is
called in a separate operation (with a separate bytecode). It depends on
the object having a .__call__ method. The .__call__ method is
*executed* (rather than *called*, which would lead to infinite regress).
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list