Question: What is the purpose of the "self" keyword when defining or calling instance methods?

  1. `self` means that no other arguments are required to be passed into the method.
  2. There is no real purpose for the `self` method; it's just historic computer science jargon that Python keeps to stay consistent with other programming languages.
  3. `self` refers to the instance whose method was called.
  4. `self` refers to the class that was inherited from to create the object using `self`.

Answer: The correct answer of the above question is Option C:`self` refers to the instance whose method was called.