Как распечатать экземпляры класса, используя print ()?

Я изучаю веревки в Python. Когда я пытаюсь напечатать объект класса Foobar с помощью функции print() , я получаю вывод, подобный этому:

<__main__.Foobar instance at 0x7ff2a18c>

Есть ли Как я могу установить поведение печати (или строковое представление ) класса и его объектов ? Например, когда я вызываю print() для объекта класса, я хотел бы напечатать его элементы данных в определенном формате. Как этого добиться в Python?

Если вы знакомы с классами C ++, то для стандарта ostream можно достичь выше, добавив friend ostream& operator << (ostream&, const Foobar&) метод для класса.

452
задан martineau 18 July 2019 в 16:26
поделиться