O'Reilly logo
  • Jason Novinger thinks this is interesting:

The biggest shortcoming of @property is that the methods for an attribute can only be shared by subclasses. Unrelated classes can’t share the same implementation. However, Python also supports descriptors (see Item 31: “Use Descriptors for Reusable @property Methods”) that enable reusable property logic and many other use cases.

From

Cover of Effective Python: 59 Specific Ways to Write Better Python

Note

This is how we do composition, I think.