Comment imprimer des instances d'une classe à l'aide de print()?

Je suis en train d'apprendre les ficelles du métier en Python. Lorsque j'essaie d'imprimer un objet de la classe Foobar à l'aide de la print() fonction, je obtenir un résultat comme ceci:

<__main__.Foobar instance at 0x7ff2a18c>

Est-il un moyen que je puisse régler le impression comportement (ou le représentation de chaîne) d'un classe et ses objets? Par exemple, quand je l'appelle print() sur un objet de classe, je voudrais imprimer ses membres de données dans un certain format. Comment atteindre cet objectif en Python?

Si vous êtes familier avec des classes C++, le ci-dessus peut être réalisé pour la norme ostream par l'ajout d'un friend ostream& operator << (ostream&, const Foobar&) méthode pour la classe.