1. ホーム
  2. python

[解決済み] repr__メソッドの目的?

2022-03-03 03:53:47

質問

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

この方法の意義・目的は何ですか?

どのように解決するのですか?

__repr__ は、オブジェクトの印刷可能な表現を返す必要があります。 は、このオブジェクトを作成するために可能な方法のうちの1つです。公式ドキュメントを参照 こちら . __repr__ が開発者向けであるのに対し __str__ はエンドユーザー向けです。

簡単な例です。

>>> 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)