Python: где я могу найти информацию о {!r}?

#python

Вопрос:

я видел это: {!r} в каком-то коде сегодня, и я искал по всей половине акра ада, чтобы найти информацию об этом. сопровождающий комментарий заключался в том , что он назывался внутренним __repr__ , но меня поразило то, что {!r} он был внутри самого __repr__ себя:

 def __repr__(self):  return "{!r}".format(self.__dict__)  

::непонятные звуки::

может ли кто-нибудь указать мне, где я могу узнать больше об этом?

Комментарии:

1. __repr__ Для ЭТОГО КЛАССА будет возвращено значение __repr__ для его словаря. Это никоим образом не рекурсивно. Это просто передача полномочий следующему парню.

2. Вы используете python2 правильно?

3. нет. Python 3.

4. @TimRoberts хорошо, да, но вопрос не в этом. 😛 где я об этом читал?

5. Это был именно тот вопрос. {!r} вызовы __repr__ , так что этот код в точности совпадает с тем, return repr(self.__dict__) который совпадает с return self.__dict__.__repr__() .