Chapter 3. Attribute Access, Properties, and Descriptors

An object is a collection of features, including methods and attributes. The default behavior of the object class involves setting, getting, and deleting named attributes. We often need to modify this behavior to change the attributes available in an object.

This chapter will focus on the following five tiers of attribute access:

  • We'll look at built-in attribute processing, which is the simplest, but least sophisticated option.
  • We'll review the @property decorator. A property extends the concept of an attribute to include the processing defined in method functions.
  • We'll look at how to make use of the lower-level special methods that control attribute access: __getattr__(), __setattr__(), and ...

Get Mastering Object-oriented 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.