Core Python 3: Introspection
by Austin Bingham and Robert Smallshire
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: 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.
About the authors
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... moreperienced presenter and teacher, having spoken
at a number of conferences, software groups, and internal corporate
venues. Austin is also an active member of the open source community,
contributing regularly to various Python and Emacs projects, and he's
the founder of Stavanger Software Developers, one of the largest and
most active social software groups in Stavanger. Austin holds a Master
of Science in Computer Engineering from the University of Texas at
Austin.
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... moreare events where he can be found speaking about topics as diverse as behavioral microeconomics in software development to implementing web services on 8-bit microcontrollers. He is organizer of the Oslo Python group and holds a Ph.D. in a natural science.