Цель Python __ repr __

def __repr__(self):
  return '<%s %s (%s:%s) %s>' % (
    self.__class__.__name__, self.urlconf_name, self.app_name,
    self.namespace, self.regex.pattern)

Каково значение/цель этого метода?

123
задан thefourtheye 10 April 2014 в 05:21
поделиться

2 ответа

__ Rep __ должна вернуть печатное представление объекта, скорее всего один возможных способов Создайте этот объект. Смотрите официальную документацию здесь . __ Rep __ больше для разработчиков, а __ __ __ для конечных пользователей.

Простой пример:

>>> class Point:
...   def __init__(self, x, y):
...     self.x, self.y = x, y
...   def __repr__(self):
...     return 'Point(x=%s, y=%s)' % (self.x, self.y)
>>> p = Point(1, 2)
>>> p
Point(x=1, y=2)
168
ответ дан 24 November 2019 в 01:17
поделиться

Это достаточно хорошо объясняется в Python документации:

rep(object): Возвращает строку, содержащую выводимое на печать представление объекта. Это то же самое значение, получаемое при преобразовании (обратные кавычки). Иногда полезно иметь доступ к этой операции как к обычной функции. Для многих типов эта функция делает попытку вернуть строку, которая при передаче в eval() выдаст объект с таким же значением, в противном случае представление представляет собой строку, заключенную в угловые скобки, содержащую имя типа объекта вместе с дополнительной информацией, часто включающей имя и адрес объекта. Класс может управлять тем, что данная функция возвращает для своих экземпляров, определяя метод __repr__().

Таким образом, вы видите здесь реализацию по умолчанию __repr__, которая полезна для сериализации и отладки.

.
17
ответ дан 24 November 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: