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

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

class foo(object): pass 

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

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

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

  • python flask перенаправить на https с http
  • Почему NumPy вместо списков Python?
  • Параметры функции numpy из функции
  • Unpickling классы из Python 3 в Python 2
  • SQLAlchemy: создание или повторное использование сеанса
  • Почему скрипт выполнения manage.py запускается дважды при его использовании, если __name__ == "__main__"
  • Разница в производительности в pandas read_table против read_csv vs. from_csv vs. read_excel?
  • Изменение цвета цифры QLCD-номера
  • 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" 
    Interesting Posts

    urllib2 возвращает 404 для веб-сайта, который отлично отображает браузеры

    Как я могу получить доступ к значению кнопки формы формы в Django?

    что является самым простым способом создания таблицы, использующей django db api и основываясь на сценариях Standalone Django,

    панды: считать вещи

    Извлеките все теги <script> на странице HTML и добавьте в конец документа

    Трансляция для субтензора, созданного из матрицы (Theano)

    Сельдерей в режиме демона

    Какой модуль или класс пути используют люди Python вместо os.path?

    Нужен простой пример «Hello World» с использованием библиотеки Webkit в Python

    Python: список dict, если существует, увеличивает значение dict, если не добавляет новый dict

    Как сделать «ударить любой ключ» в python?

    Python заменяет несколько строк

    Исходный интерфейс с Python и urllib2

    криптография AssertionError: извините, но эта версия поддерживает только 100 названных групп

    Datetime to filetime (Python)

    Python - лучший язык программирования в мире.