def __repr__(self):
return '<%s %s (%s:%s) %s>' % (
self.__class__.__name__, self.urlconf_name, self.app_name,
self.namespace, self.regex.pattern)
Каково значение/цель этого метода?
__ 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)
Это достаточно хорошо объясняется в Python документации:
rep(object): Возвращает строку, содержащую выводимое на печать представление объекта. Это то же самое значение, получаемое при преобразовании (обратные кавычки). Иногда полезно иметь доступ к этой операции как к обычной функции. Для многих типов эта функция делает попытку вернуть строку, которая при передаче в
eval()
выдаст объект с таким же значением, в противном случае представление представляет собой строку, заключенную в угловые скобки, содержащую имя типа объекта вместе с дополнительной информацией, часто включающей имя и адрес объекта. Класс может управлять тем, что данная функция возвращает для своих экземпляров, определяя метод__repr__()
.
Таким образом, вы видите здесь реализацию по умолчанию __repr__
, которая полезна для сериализации и отладки.