Simple play icon Course

Core Python 3: Custom Attributes and Descriptors

by Robert Smallshire and Austin Bingham

Python has a dynamism which can give our objects superpowers. This course will teach you how to implement highly flexible interfaces with where the attributes of objects are determined on-the-fly, rather than being determined in advance by classes.

What you'll learn

When classes are too rigid, but dictionaries too flexible, you can often find a good trade-off with dynamic objects. In this course, Core Python 3: Custom Attributes and Descriptors, you’ll learn to make objects with highly dynamic interfaces. First, you’ll explore how objects are internally represented in Python. Next, you’ll discover how to customize object attribute access. Finally, you’ll learn how to define your own descriptors, which form the basis of much of how Python attributes work. When you’re finished with this course, you’ll have the skills and knowledge of Python object customization needed to produce flexible and expressive code.

About the authors

Robert Smallshire is a founder of Sixty North, a software product and consulting business in Norway. Robert has worked in senior architecture and technical management roles for software companies in the energy sector processing the masses of information flowing from today's digital oil fields. He has designed, and implemented effective architectures for sophisticated scientific and enterprise software in Python, C++, and C#. Robert is a regular speaker at conferences, meetups and corporate softw... more

Austin is a founding director of Sixty North, a software consulting, training, and application development company. A native of Texas, in 2008 Austin moved to Stavanger, Norway where he helped develop industry-leading oil reservoir modeling software in C++ and Python. Prior to that he worked at National Instruments developing LabVIEW, at Applied Research Labs (Univ. of Texas at Austin) developing sonar systems for the U.S. Navy, and at a number of telecommunications companies. He is an ex... more

Ready to upskill? Get started