Duncan Booth wrote:
[snip]

Bound methods get created whenever you reference a method of an instance. If you are calling the method then the bound method is destroyed as soon as the call returns. You can have as many different bound methods created from the same unbound method and the same instance as you want:


inst = C() f1 = inst.foo f2 = inst.foo f1, f2

(<bound method C.foo of <__main__.C instance at 0x00B03F58>>, <bound method C.foo of <__main__.C instance at 0x00B03F58>>)


I just wanted to interject, although those two hex numbers in the above line are the same, calling id() on f1 and f2 produces two *different* numbers, which agrees with the point you made.

f1 is f2

False

f1 is inst.foo

False


Every reference to inst.foo is a new bound method.



-- --- remove zees if replying via email --- -- http://mail.python.org/mailman/listinfo/python-list

Reply via email to