2.6. 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 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:

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.

The type converter float can turn an integer, a float, or a syntactically legal string into a float.

The type converter str turns its argument into a string. Remember that when we print a string, the quotes are removed in the output window. However, if we print the type, we can see that it is definitely str.

One common operation where you might need to do a type conversion is when you are concatenating several strings together but want to include a numeric value as part of the final string. Because we can’t concatenate a string with an integer or floating point number, we will often have to convert numbers to strings before concatenating them.

a variable stores the value 55. a print statement tries to print "the value is" concatenated with the integer, but a runtime error occurs. Solution is to convert the integer into a string so that it can be concatenated.

Check your understanding

    What value is printed when the following statement executes?

  • Nothing is printed. It generates a runtime error.
  • The statement is valid Python code. It calls the int function on 53.785 and then prints the value that is returned.
  • 53
  • The int function truncates all values after the decimal and prints the integer value.
  • 54
  • When converting to an integer, the int function does not round.
  • 53.785
  • The int function removes the fractional part of 53.785 and returns an integer, which is then printed.
You have attempted of activities on this page