2017-01-10 18 views
0

слова в питоне документации Format Specification Mini-Language:Питон документация о формате не соответствует ходу приводит

общая конвенцией является то, что пустая строка формата («») производит один и тот же результат, как если бы вы называли str() по значению.

Но это не соответствует фактическому результату от обоих python2 и Python3:

In [1]: "".format(100) 
Out[1]: '' 

In [2]: str(100) 
Out[2]: '100' 
+1

'format (100, '') == '100'', вот что это значит. Как вы это делаете, вам нужен '' {} '. Format (100) ', который имеет * placeholder * с пустой строкой формата. – jonrsharpe

ответ

4

У вас есть пустой шаблон, не пустой строку формата. Строка формата - это часть после необязательного : в качестве заполнителя {..}. Полностью опуская местозаполнитель, нигде нет значения для размещения.

Так следующее производит то же самое, str() на значении:

>>> '{:}'.format(100) 
'100' 
>>> '{}'.format(100) 
'100' 

как и пустую строку в качестве второго аргумента format() function:

>>> format(100, '') 
'100' 

Во всех случаях строки формата пуст.

Вы, возможно, пропустили, что весь Format Specification Mini-language только те документы, какие операции форматирования можно использовать в {:...} части заполнителя, или в качестве второго аргумента для format(). Для строк шаблонов (часть, к которой вы применяете метод str.format()), вам необходимо прочитать раздел выше этого, Format String Syntax section.