Python Descriptors

Understanding and Using the Descriptor Protocol

  • Jacob Zimmerman

Table of contents

  1. Front Matter
    Pages i-xiv
  2. About Descriptors

    1. Front Matter
      Pages 1-1
    2. Jacob Zimmerman
      Pages 3-5
    3. Jacob Zimmerman
      Pages 7-10
    4. Jacob Zimmerman
      Pages 11-14
    5. Jacob Zimmerman
      Pages 15-20
    6. Jacob Zimmerman
      Pages 21-28
  3. Making Descriptors

    1. Front Matter
      Pages 29-29
    2. Jacob Zimmerman
      Pages 31-37
    3. Jacob Zimmerman
      Pages 39-57
    4. Jacob Zimmerman
      Pages 59-65
    5. Jacob Zimmerman
      Pages 67-68
    6. Jacob Zimmerman
      Pages 69-72
    7. Jacob Zimmerman
      Pages 73-80
    8. Jacob Zimmerman
      Pages 81-88
    9. Jacob Zimmerman
      Pages 89-91
  4. Back Matter
    Pages 93-97

About this book


Create descriptors and see ideas and examples of how to use descriptors effectively. In this short book, you’ll explore descriptors in general, with a deep explanation of what descriptors are, how they work, and how they're used. Once you understand the simplicity of the descriptor protocol, the author delves into using and creating descriptors in practice, with plenty of tips, patterns, and real-world guidance. Because descriptors are inherently flexible, you’ll work with multiple examples illustrating how to best take advantage of them.

This second edition includes additions throughout, including new material covering the set_name_() descriptors, new and improved flowcharts to explain the inner workings of descriptors, and a completely new chapter to address instance-level attributes, the easiest way to create descriptors correctly the first time. 

Although brief, Python Descriptors is a comprehensive guide to creating Python descriptors, including a pip install-able library called descriptor_tools, which was written alongside this book and is an open source library on GitHub. After reading this book, you will have a solid understanding of how descriptors work and the techniques to avoid the big gotchas associated with working with them.

You will:
  • Discover descriptor protocols
  • Master attribute access and how it applies to descriptors
  • Build your own descriptors
  • Use descriptors to store attributes
  • Create read-only descriptors 
  • Explore the descriptor classes
  • Apply the other uses of descriptors 


Python descriptors coding Standard Library software programming

Authors and affiliations

  • Jacob Zimmerman
    • 1
  1. 1.New YorkUSA

Bibliographic information

Industry Sectors
Materials & Steel
Chemical Manufacturing
Finance, Business & Banking
IT & Software
Consumer Packaged Goods
Energy, Utilities & Environment
Oil, Gas & Geosciences