Я буду немного смея с моим ответом .. :-)
Я не думаю, что str.format()
лучше str()
. str()
короче, и если он дает вам то, что вы хотите, это здорово.
Если вам нужно отформатировать номер с количеством цифр, например, {}.format()
выполнит эту работу, но также и '%.3f' % n
выполнит эту работу.
Есть некоторые преимущества для {}.format()
по сравнению с оператором %
, и повторение аргумента является одним, но не столь распространенным. Я все еще использую %
, потому что он короче.
Кажется, что сам Python постоянно ищет лучшие способы, и действительно, в Python 3.6 они придумали лучший способ, IMO, до сих пор, который является общим для некоторых языков программирования. Здесь, прямо из док:
>>> name = "Fred"
>>> f"He said his name is {name}."
Вы можете прочитать больше об этом здесь:
https://www.python.org/dev/peps/pep-0498/
И вы также можете иметь вложенные форматы: '' {:. {} F} '. Format (0.12345, 5) ->' 0.12345'' while ''{:. {} F}'. Format (0.12345) , 2) -> 0.12' – Bakuriu