On Sun, Jul 3, 2016 at 3:32 PM, Steven D'Aprano <st...@pearwood.info> wrote: > > But if you prepare the method ahead of time, it works: > > from types import MethodType > instance.method = MethodType(method, instance)
That's a fine way to bind a method, but in the context of this "descriptor land" topic, I think it's more insightful to call the function's __get__ method: >>> type(method) <class 'function'> >>> instance.method = method.__get__(instance) >>> type(instance.method) <class 'method'> >>> instance.method.__self__ is instance True >>> instance.method.__func__ is method True >>> instance.method() method called from self <__main__.Test object at 0x7faf51d1a198> -- https://mail.python.org/mailman/listinfo/python-list