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¶
- 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](/05-py3/09-bytecode-and-execution/(02-execution-model-compilation/) - Code execution
- 03 Magic Methods - getattr and setattr