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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.