Python: Which practice avoids a common mistake with staticmethod vs classmethod?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with staticmethod vs classmethod?

  1. Do not use staticmethod to avoid deciding where behavior actually belongs if the code still depends on object or class state.
  2. Ignore the staticmethod vs classmethod issue and rely on team discipline instead of clearer APIs or invariants.
  3. Silence the staticmethod vs classmethod problem by using broad catches, hidden globals, or extra shared mutable state.
  4. Prefer the version of staticmethod vs classmethod 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 use staticmethod to avoid deciding where behavior actually belongs if the code still depends on object or class state.

Do not use staticmethod to avoid deciding where behavior actually belongs if the code still depends on object or class state. This is a common failure mode in real Python code and a frequent interview follow-up.

Track: Python