inspect | Python Standard Library – Real Python

The Python inspect module provides several useful tools to help you get information about live objects, such as modules, classes, methods, functions, tracebacks, and the objects’ source code.

It allows you to inspect the types and properties of these objects, retrieve source code, and get information on the calling context.

Here’s an example:

Key Features

  • Retrieves the source code of objects
  • Inspects classes, functions, and methods
  • Examines the stack frame
  • Analyzes the arguments of callable objects
  • Retrieves information about the calling context

Frequently Used Classes and Functions

Examples

Retrieving the source code of a function:

Checking if an object is a class:

Getting the signature of a function:

Common Use Cases

  • Retrieving and displaying the source code of functions and classes
  • Analyzing function signatures and arguments
  • Debugging and understanding the stack trace
  • Generating documentation or interactive help

Real-World Example

Suppose you want to create a simple command-line tool that inspects functions within a module and displays their signatures and docstrings. Here’s a way to achieve that:

This example demonstrates how to list all functions in a custom module, showing their signatures and docstrings, which can be particularly useful for documentation purposes or understanding a codebase.

Serialize Your Data With Python

For additional information on related topics, take a look at the following resources: