Structure and standards for classes

Class definitions, whether for concrete/instantiable classes or any of the ABC variants, have a similar structure defined, and will be arranged in sorted groups as follows:

  • Class attributes and constants
  • Property getter methods
  • Property setter methods
  • Property deleter methods
  • Instance property definitions
  • Object initialization (__init__)
  • Object deletion (__del__)
  • Instance methods (concrete or abstract)
  • Overrides of standard built-in methods (__str__)
  • Class methods
  • Static methods

The property getter, setter, and deleter methods approach was selected, rather than using method decoration, in order to make it easier to keep property documentation in a single location in the class definition. The use of properties ...

Get Hands-On Software Engineering with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.