Как метод __format__ должен использоваться для int? - PullRequest
5 голосов
/ 01 февраля 2010

Я видел, что был метод __format__, но помощь (int.__format__) не дает никакой помощи.

Я также знаю, что вы не должны вызывать __method__ напрямую. Когда этот метод вызывается? Какой у него аргумент?

Ответы [ 2 ]

4 голосов
/ 01 февраля 2010

Используется для новой схемы форматирования строк Py3k.

Вы можете найти больше информации здесь:

http://docs.python.org/whatsnew/2.6.html#pep-3101-advanced-string-formatting

Вы правы, что это не вызывается напрямую. Он вызывается str.format или новым format встроенным.

2 голосов
/ 01 февраля 2010

Используется, когда вы передаете целое число в функцию format (). Подробности ускользают от меня, поскольку я не могу понять, что именно является аргументом. (Изменить: см. Ссылку потерянной теории)

О, и это работает только тогда, когда целое число является единственным аргументом. Если вы передаете кортеж для форматирования, то вызывается функция кортежа .__ format__ и int .__ str__ или что-то в этом роде.

'{0}'.format(4)
str(4.__format__(format_spec=''))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...