I want to write a __str__ for my class. However, the class has many members and not all may always be relevant. I want the __str__ to include only the key members by default, but include more if the user asks for more.
How can I do this? Can __str__ take parameters (I am okay with giving them default values)? How will these parameters be passed when the user does print(my_class_instance)?