Type Casting In Python

Python Casting: Specifying a Variable's Type

In Python, sometimes we want to make sure a variable is of a specific data type. We can do this using casting, which is just a way of changing a variable from one type to another.

Python is an object-oriented language, which means it uses classes to define data types — even for its basic types. This makes casting very versatile and straightforward.


Types of Casting in Python

Python has three main casting functions:

  1. int() - Converts to an integer.
  2. float() - Converts to a floating-point number.
  3. str() - Converts to a string.

Let’s break down each one with examples.


1. Casting to Integer with int()

The int() function can:

  • Turn an integer into another integer (no change).
  • Turn a float into an integer by removing the decimal.
  • Turn a string representing a whole number into an integer.

Examples:

# Integer casting
x = int(1)       # x will be 1
y = int(2.8)     # y will be 2 (decimal removed)
z = int("3")     # z will be 3 (string converted to integer)

print(x)  # Output: 1
print(y)  # Output: 2
print(z)  # Output: 3

2. Casting to Float with float()

The float() function can:

  • Convert an integer to a float by adding a decimal point.
  • Convert a float to another float (no change).
  • Convert a string that represents a float or integer into a float. ###Examples:
# Float casting
x = float(1)       # x will be 1.0
y = float(2.8)     # y will be 2.8
z = float("3")     # z will be 3.0 (string to float)
w = float("4.2")   # w will be 4.2 (string to float)

print(x)  # Output: 1.0
print(y)  # Output: 2.8
print(z)  # Output: 3.0
print(w)  # Output: 4.2

3. Casting to String with str()

The str() function can turn almost anything into a string, including:

  • Existing strings (no change).
  • Integers.
  • Floats.

Examples:

# String casting
x = str("s1")  # x will be 's1'
y = str(2)     # y will be '2' (integer to string)
z = str(3.0)   # z will be '3.0' (float to string)

print(x)  # Output: 's1'
print(y)  # Output: '2'
print(z)  # Output: '3.0'

Additional Examples: Combining Types in Expressions

Casting can be especially helpful when combining different types, like when adding a string to a number:

Example:

# Mixing types with casting
age = 21
greeting = "I am " + str(age) + " years old."

print(greeting)  # Output: I am 21 years old.

Or if we need to perform calculations and a string contains a number:

Example:

# Calculating with string numbers
num1 = "5"
num2 = "3"

# Convert strings to integers before adding
result = int(num1) + int(num2)

print(result)  # Output: 8

Casting Caution: Avoid Invalid Conversions

Be careful! If a string doesn’t represent a valid number, you’ll get an error when trying to cast.

Example:

# Invalid casting example
text = "Hello"
# Trying to cast "Hello" as an integer will cause an error
# Uncomment the line below to see the error
# invalid_conversion = int(text) 

Casting is a powerful tool that lets us control variable types and make our code more flexible. Try experimenting with different data types and see how casting can help in various situations!