Когда я пытаюсь следующий неправильный код:Вводят `ValueError` на плохое форматирование в Python 2.7
not_float = [1, 2, 3]
"{:.6f}".format(not_float)
я получаю следующее заблуждение ValueError
:
ValueError: Unknown format code 'f' for object of type 'str'
Это вводит в заблуждение, так как это может сделать я думаю, not_float
- это строка. Такое же сообщение встречается для других non_float
типов, таких как NoneType
, tuple
и т. Д. У вас есть идея, почему? И: Должен ли я ожидать этого сообщения об ошибке независимо от типа non_float
, если он не предоставляет какой-либо метод форматирования для f
?
С другой стороны, пытаясь:
non_date = 3
"{:%Y}".format(non_date)
приносит
ValueError: Invalid conversion specification
который является менее информативным, но и менее вводит в заблуждение.
См. Http://bugs.python.org/issue13790 –