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

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

class foo(object): pass 

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

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

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

  • TypeError: attack () отсутствует 1 обязательный позиционный аргумент: 'self'
  • issubclass () возвращает Flase в том же классе, импортированном из разных путей
  • Ошибка связанного метода
  • Идентифицировать, что переменная является классом нового стиля в Python?
  • переменные python, классы
  • Каков пример использования для метода класса Python?
  • Поведение Python super () не является надежным
  • Почему мы используем __init__ в классах python?
  • 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 - лучший язык программирования в мире.