Dynamic Features: Runtime Flexibility¶
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¶
- Attribute Access - getattr, setattr, hasattr
- Magic Methods - getattr, setattr, getattribute
- Introspection - inspect module, dir(), vars()
- Code Execution - eval, exec, compile
- 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.
Related Topics¶
- 02 Execution Model & Compilation - Code execution
- 03 Magic Methods - getattr and setattr