小编典典

__repr__ 方法的目的?

all

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

这种方法的意义/目的是什么?


阅读 66

收藏
2022-08-20

共1个答案

小编典典

__repr__应该返回对象的可打印表示,很可能是创建此对象的 一种方法。
请参阅此处
的官方文档。__repr__更适合开发人员,而__str__更适合最终用户。

一个简单的例子:

>>> class Point:
...     def __init__(self, x, y):
...             self.x, self.y = x, y
...     def __repr__(self):
...             cls = self.__class__.__name__
...             return f'{cls}(x={self.x!r}, y={self.y!r})'
>>> p = Point(1, 2)
>>> p
Point(x=1, y=2)
2022-08-20