On 9/17/22, Chris Angelico <ros...@gmail.com> wrote: > > The two are basically equivalent. Using functools.partial emphasizes > the fact that all you're doing is "locking in" the first parameter; > using the __get__ method emphasizes the fact that functions are, > fundamentally, the same thing as methods. Choose whichever one makes > sense to you!
Functions are really not "fundamentally, the same thing as methods". They're only the same in that they're both callable. Also, a method's __getattribute__() falls back on looking up attributes on the underlying function (i.e. the method's __func__), such as inspecting the __name__ and __code__. A fundamental difference is that, unlike a function, a method is not a descriptor. Thus if a method object is set as an attribute of a type, the method does not rebind as a new method when accessed as an attribute of an instance of the type. -- https://mail.python.org/mailman/listinfo/python-list