O'Reilly logo
  • Chris Kang thinks this is interesting:

An instance can have instance-specific bindings for all attributes, including callable attributes (methods). For a method, just like for any other attribute (except those bound to overriding descriptors), an instance-specific binding hides a class-level binding: attribute lookup does not consider the class when it finds a binding directly in the instance. An instance-specific binding for a callable attribute does not perform any of the transformations detailed in “Bound and Unbound Methods”: the attribute reference returns exactly the same callable object that was earlier bound directly to the instance attribute.

However, this does not work as you might expect for per-i...

From

Cover of Python in a Nutshell, 3rd Edition

Note

These are members that are bound directly to an instance, not those that are defined in class definition and becomes a member of an instance as an instance of that class is created.