Core Python 3.6: Introspection

by Robert Smallshire and Austin Bingham

In this course, you'll look at Python's support for introspection, the ability to examine objects, types, and program state at runtime. While not needed in every program, introspection can be the key to elegant designs and debugging complex problems.

What you'll learn

Python is a highly dynamic language, and this dynamism is enabled by a great deal of metadata associated with objects at runtime. In this course, Core Python 3.6: Introspection, you'll explore Python's support for introspection, the ability of a program to examine - and even modify - its own structure and state through this metadata.

First, you'll look at introspection as the key to elegant designs or debugging complex problems. Then, you'll be introduced to Python’s facilities for introspecting live programs. Finally, you'll learn how to examine objects, types, and program state at runtime. By the end of this course you’ll know how to query objects for their attributes and inspect program state, and you’ll have a deeper knowledge of how Python programs are arranged internally.

Table of contents

Course Overview
2mins
Introspecting Scopes
4mins
The Inspect Module
6mins
An Object Introspection Tool
11mins

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