I am a python newbie.I am just getting acquainted with format method.
From a book that I am reading to learn python
What Python does in the format method is that it substitutes each argument
value into the place of the specification. There can be more detailed specifications
such as:
decimal (.) precision of 3 for float '0.333'
>>> '{0:.3}'.format(1/3)
fill with underscores (_) with the text centered
(^) to 11 width '___hello___'
>>> '{0:_^11}'.format('hello')
keyword-based 'Swaroop wrote A Byte of Python'
>>> '{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python')
In the python interpreter if I try
print('{0:.3}'.format(1/3))
It gives the error
File "", line 24, in
ValueError: Precision not allowed in integer format specifier
It's better to add f
:
In [9]: print('{0:.3f}'.format(1/3))
0.000
in this way you could notice that 1/3
gives an integer and then correct that to 1./3
or 1/3.
.
To print the floating point numbers, you have to have atleast one of the inputs as floats, like this
print('{0:.3}'.format(1.0/3))
If both the inputs are integers to the division operator, the returned result will also be in int, with the decimal part truncated.
Output
0.333
You can convert the data to float with float
function, like this
data = 1
print('{0:.3}'.format(float(data) / 3))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With