John wrote: >> Note that it doesn't matter whether you call instance.foo(2) >> directly, or bind instance.foo to a variable first. Either will >> create a *new* bound method object, and the correct instance is used >> for the call. > > Za! What do you mean, "create a new bound method object"? I *already* > created that method when I def'd it inside the 'class Demo' statement, > no? > The def statement creates a function. Accessing the method through the class creates a brand new unbound method from the function. Every access of the method through the class creates a separate unbound method.
Accessing the method through the instance creates a brand new bound method. Every such access creates a separate bound method. > > ... hmm... bound methods get created each time you make > a call to an instance method via an instance of the given class? > you've got it. -- http://mail.python.org/mailman/listinfo/python-list