Skip to content

Dynamic Features

Overview

Dynamic features enable runtime flexibility:

  • getattr/setattr/delattr: Dynamic attribute access
  • *getattr*, setattr****: Intercept attribute access
  • eval/exec: Execute code at runtime
  • Introspection: Inspect objects and modules
  • Dynamic imports: Load modules at runtime

Key Topics

  1. Attribute Access - getattr, setattr, hasattr
  2. Magic Methods - getattr, setattr, getattribute
  3. Introspection - inspect module, dir(), vars()
  4. Code Execution - eval, exec, compile
  5. Dynamic Imports - importlib, import

Use Cases

Use Case Feature
Proxy objects getattr, setattr
ORM mapping getattribute
Configuration eval/exec (careful!)
Framework plugins importlib.import_module
Testing mocks setattr for monkey-patching

-

Safety Warning

eval/exec are dangerous! Never use on untrusted input.

-

  • [02 Execution Model & Compilation](/05-py3/09-bytecode-and-execution/(02-execution-model-compilation/) - Code execution
  • 03 Magic Methods - getattr and setattr