Как создать пользовательское строковое представление для объекта класса?

Рассмотрим этот класс:

class foo(object): pass 

Строковое представление по умолчанию выглядит примерно так:

 >>> str(foo) "<class '__main__.foo'>" 

Как я могу сделать это отображение собственной строкой?

2 Solutions collect form web for “Как создать пользовательское строковое представление для объекта класса?”

__str__() или __repr__() в метакласс класса.

 class MC(type): def __repr__(self): return 'Wahaha!' class C(object): __metaclass__ = MC print C 

Используйте __str__ если вы имеете в виду читаемую строкопись, используйте __repr__ для однозначных представлений.

 class foo(object): def __str__(self): return "representation" def __unicode__(self): return u"representation" 
  • Вызов метода класса базового класса в Python
  • unbound метод должен вызываться с экземпляром как первый аргумент - python
  • Создать javascript-объект (класс) из модели django
  • Метод Python super и альтернативы вызова
  • Почему я могу использовать переменную в функции до ее определения в Python?
  • вызов метода дочернего класса из файла родительского класса в python
  • Почему мы используем __init__ в классах python?
  • строка переменной-члена обрабатывается как Tuple в Python
  • Python - лучший язык программирования в мире.