#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__()
.