Question
Which practice avoids a common mistake with Dunder Methods and Data Model Protocols?
- Do not implement special methods casually if the resulting semantics would surprise the next engineer or the caller.
- Ignore the Dunder Methods and Data Model Protocols issue and rely on team discipline instead of clearer APIs or invariants.
- Silence the Dunder Methods and Data Model Protocols problem by using broad catches, hidden globals, or extra shared mutable state.
- Prefer the version of Dunder Methods and Data Model Protocols that makes behavior less predictable as long as the code still runs.
Hint
Look for the option that protects correctness instead of hiding the problem.
Answer and rationale
Correct answer: A. Do not implement special methods casually if the resulting semantics would surprise the next engineer or the caller.
Do not implement special methods casually if the resulting semantics would surprise the next engineer or the caller. This is a common failure mode in real Python code and a frequent interview follow-up.
Track: Python