python - What is global format() function meant for? -
there str.format()
method in python familiar not work same way format()
function (global-builtin).
what purpose of global format()
function?
the format()
function formats one value according formatting specification.
the str.format()
method parses out template, , formats individual values. each {value_reference:format_spec}
specifier applied matched value using format()
function, format(referenced_value, format_spec)
.
in other words, str.format()
built on top of format()
function. str.format()
operates on full format string syntax string, format()
operates on matched values , applies format specification mini-language.
for example, in expression
'the hex value of {0:d} {0:02x}'.format(42)
the template string has 2 template slots, both formatting same argument str.format()
method. first interpolates output of format(42, 'd')
, other format(42, '02x')
. note second argument in both cases format specifier, e.g. comes after :
colon in template placeholder.
use format()
function when want format single value, use str.format()
when want place formatted value in larger string.
under hood, format()
delegates object.__format__
method let value interpret formatting specification. str.format()
calls method directly, you should not rely on this. object.__format__
hook, in future format()
might apply more processing result of hook, or pre-process format pass in. implementation detail really, interesting if want implement own formatting language object type.
see pep-3101 advanced string formatting original proposal added str.format()
, format()
, object.__format__
hook language.
Comments
Post a Comment