2.3. Type conversion functions¶
Sometimes it is necessary to convert values from one type to another. Python provides
a few simple functions that will allow us to do that. The functions int
, float
and str
will (attempt to) convert their arguments into types int, float and str
respectively. We call these type conversion functions.
The type converter str
turns its argument into a string. Recall that the
print
function requires its input to be string types. By using the
str
function it is possible to convert a number to a string before
using it as input to the print
function.
print(str(17))
print(str(123.45))
(ch02_22)
Note
Note that just like in math equations parentheses determine the
order of execution. Inner parenthesis are executed first. So
print(str(17))
will first convert 17 to a string, then it will
print it.
The type converter float
can turn an integer, a float, or a syntactically
legal string into a float.
print(str(float("123")))
print(str(float("123.45")))
(ch02_21)
The int
function can take a floating point number or a string, and turn it
into an int. For floating point numbers, it discards the decimal portion of
the number - a process we call truncation towards zero on the number line.
Let us see this in action:
print(str(int(3.14)))
print(str(int(3.9999))) # This doesn't round to the closest int!
print(str(int(-3.999))) # Note that the result is closer to zero
print(str(int("2345"))) # parse a string to produce an int
print(str(int("23bottles")))
(ch02_20)
The last case shows that a string has to be a syntactically legal number,
otherwise you’ll get one of those pesky runtime errors. Modify the example by deleting the
bottles
and rerun the program. You should see the integer 23
.
Check your understanding
data-3-1: What value is printed when the following statement executes?
print(int(53.285))
data-3-2: What value is printed when the following statement executes?
print( int(53.785) )
data-3-3: What value is printed when the following statement executes?
print(int(-53.785))