Question: Why would you use `mixin`?

  1. You use a `mixin` to force a function to accept an argument at runtime even if the argument wasn't included in the function's definition.
  2. You use a `mixin` to allow a decorator to accept keyword arguments.
  3. You use a `mixin` to make sure that a class's attributes and methods don't interfere with global variables and functions.
  4. If you have many classes that all need to have the same functionality, you'd use a `mixin` to define that functionality.

Answer: The correct answer of the above question is Option D:If you have many classes that all need to have the same functionality, you'd use a `mixin` to define that functionality.