Skip to Content
Nextra 4.0 is released 🎉

Converting Types in Python

In Python, you can convert between different data types using built-in functions. This is often necessary when you want to perform operations that require specific types.

For example, you might want to convert a string that represents a number into an actual numeric type so you can perform arithmetic operations on it.

Common Type Conversion Functions

Here are some of the most commonly used type conversion functions in Python:

  • int(): Converts a value to an integer.
    • This function can convert strings that represent whole numbers (e.g., “42”) or floating-point numbers (e.g., 3.14) to integers by truncating the decimal part.
    int_value = int("42") # Converts string to integer int_value_from_float = int(3.14) # Converts float to integer ( print(int_value) # Output: 42 print(int_value_from_float) # Output: 3 ```
  • float(): Converts a value to a floating-point number.
    • This function can convert strings that represent numbers (e.g., “3.14”) or integers (e.g., 42) to floating-point numbers.
    float_value = float("3.14") # Converts string to float float_value_from_int = float(42) # Converts integer to float print(float_value) # Output: 3.14 print(float_value_from_int) # Output: 42.0
  • str(): Converts a value to a string.
    • This function can convert numbers, booleans, and other data types to their string representation.
    str_value = str(42) # Converts integer to string str_value_from_float = str(3.14) # Converts float to string print(str_value) # Output: "42" print(str_value_from_float) # Output: "3.14"
  • bool(): Converts a value to a boolean (True or False).
    • This function can convert various data types to boolean values. Non-zero numbers and non-empty strings are converted to True, while zero, empty strings, and None are converted to False.
    • We usually use this function to easily check whether a value is considered “truthy” or “falsy”.
    name_from_user = "" if bool(name_from_user): print("Name provided") else: print("No name provided") # This will be printed since the string is empty

    Note that you typically don’t need to explicitly call bool() in conditions, as Python automatically evaluates the truthiness of values in if statements and other boolean contexts. I call this out because you often see code examples online that won’t use bool() explicitly, but it’s still happening “under the hood”. However, understanding that this conversion happens behind the scenes is important for writing effective conditional statements. I encourage you to write some code that uses bool() explicitly to get a better understanding of what qualifies as “truthy” and “falsy” in Python.

Automatic Type Conversion

Type conversion often happens automatically in Python, especially during operations that involve multiple data types. This is known as implicit type conversion or coercion. For example, when you add an integer and a float together, Python automatically converts the integer to a float before performing the addition:

result = 5 + 3.2 # The integer 5 is converted to float 5.0 print(result) # Output: 8.2

However, there are times when you need to explicitly convert types using the functions mentioned above, especially when dealing with user input or data from external sources.

Here’s an example of converting user input (which is always a string) to an integer:

user_input = input("Enter a number: ") # User inputs "10" number = int(user_input) # Convert string to integer print(number + 5) # Output: 15

In this example, we use int() to convert the string input from the user into an integer so we can perform arithmetic with it. Without this conversion, trying to add 5 to the string “10” would result in a TypeError, which means Python didn’t understand that you wanted to perform numeric addition rather than string concatenation.

You might find that you need to go through a bit of trial and error to get comfortable with type conversions in Python and understand when they are automatically handled for you versus when you need to do it explicitly.

Summary

That’s a brief overview of type conversions in Python! Understanding how to convert between different data types is essential for effective programming in Python.

Last updated on