Question
Which practice avoids a common mistake with Args, Kwargs, and Parameter Kinds?
- Ignore the Args, Kwargs, and Parameter Kinds issue and rely on team discipline instead of clearer APIs or invariants.
- Do not hide a weak API behind arbitrary **kwargs when the real contract should be explicit and documented.
- Silence the Args, Kwargs, and Parameter Kinds problem by using broad catches, hidden globals, or extra shared mutable state.
- Prefer the version of Args, Kwargs, and Parameter Kinds 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: B. Do not hide a weak API behind arbitrary **kwargs when the real contract should be explicit and documented.
Do not hide a weak API behind arbitrary **kwargs when the real contract should be explicit and documented. This is a common failure mode in real Python code and a frequent interview follow-up.
Track: Python