• Home
  • 2.8 Type Conversion

2.8 Type Conversion

View Categories

2.8 Type Conversion

4 min read

Sometimes a value needs to be converted from one data type to another. This process is called type conversion.

For example:

  • Converting user input (string) into an integer.
  • Converting an integer into a floating-point number.
  • Converting a number into a string for display.
  • Converting collections such as lists into tuples.

Python provides several built-in functions to perform type conversion.

Some commonly used conversion functions are:

  • int()
  • float()
  • str()
  • bool()
  • list()
  • tuple()
  • set()

Example 1: Converting a String to an Integer #

main.py

number = "100"

value = int(number)

print(value)
print(type(value))

Output #

100
<class 'int'>

Explanation #

  • number stores the string "100".
  • The int() function converts the string into an integer.
  • The converted value is stored in value.
  • The data type changes from str to int.

Example 2: Converting an Integer to a Float #

main.py

number = 25

value = float(number)

print(value)
print(type(value))

Output #

25.0
<class 'float'>

Explanation #

  • number is an integer.
  • The float() function converts it into a floating-point number.
  • The decimal part .0 is automatically added.
  • The resulting data type is float.

Example 3: Converting a Float to an Integer #

main.py

price = 99.95

value = int(price)

print(value)

Output #

99

Explanation #

  • price stores a floating-point number.
  • int() removes the fractional part.
  • The value is truncated, not rounded.
  • Therefore, 99.95 becomes 99.

Example 4: Converting a Number to a String #

main.py

age = 25

text = str(age)

print(text)
print(type(text))

Output #

25
<class 'str'>

Explanation #

  • age is an integer.
  • str() converts the integer into a string.
  • This is useful when combining numbers with text.

Example 5: Converting User Input #

main.py

age = int(input("Enter your age: "))

print(age + 5)

Sample Input #

Enter your age: 25

Output #

30

Explanation #

  • input() returns a string.
  • int() converts the string into an integer.
  • The program can now perform arithmetic operations.

Example 6: Converting to Boolean #

main.py

print(bool(1))
print(bool(0))

print(bool("Python"))
print(bool(""))

Output #

True
False
True
False

Explanation #

  • Non-zero numbers evaluate to True.
  • Zero evaluates to False.
  • Non-empty strings evaluate to True.
  • Empty strings evaluate to False.

Example 7: Converting a List to a Tuple #

main.py

numbers = [10, 20, 30]

data = tuple(numbers)

print(data)
print(type(data))

Output #

(10, 20, 30)
<class 'tuple'>

Explanation #

  • numbers is a list.
  • tuple() converts the list into a tuple.
  • The data type changes from list to tuple.

Example 8: Converting a Tuple to a List #

main.py

numbers = (10, 20, 30)

data = list(numbers)

print(data)
print(type(data))

Output #

[10, 20, 30]
<class 'list'>

Explanation #

  • numbers is a tuple.
  • list() converts the tuple into a list.
  • The resulting object is mutable.

Example 9: Converting a List to a Set #

main.py

numbers = [10, 20, 20, 30, 30]

data = set(numbers)

print(data)

Output #

{10, 20, 30}

Explanation #

  • set() converts the list into a set.
  • Duplicate values are automatically removed.
  • Sets store only unique elements.

Example 10: Multiple Type Conversions #

main.py

value = "25"

number = int(value)
decimal = float(number)
text = str(decimal)

print(number)
print(decimal)
print(text)

Output #

25
25.0
25.0

Explanation #

  • "25" is first converted into an integer.
  • The integer is converted into a floating-point number.
  • Finally, the floating-point number is converted into a string.
  • Python allows multiple conversions in sequence.

Common Mistakes #

1. Converting an Invalid String to an Integer #

Incorrect

number = int("Hello")

Output #

ValueError: invalid literal for int() with base 10: 'Hello'

Reason

Only strings representing valid integers can be converted using int().

Correct

number = int("100")

2. Assuming int() Rounds Values #

Incorrect Assumption

print(int(9.9))

Incorrect Expectation #

10

Actual Output #

9

Reason

int() truncates the decimal part instead of rounding.


3. Forgetting to Convert User Input #

Incorrect

age = input("Enter age: ")

print(age + 5)

Output #

TypeError: can only concatenate str (not "int") to str

Reason

input() returns a string.

Correct

age = int(input("Enter age: "))

print(age + 5)

4. Assuming Every Value Can Be Converted #

Incorrect

value = float("Python")

Output #

ValueError: could not convert string to float: 'Python'

Reason

Only strings representing valid floating-point numbers can be converted using float().


Best Practices #

  • Convert values only when necessary.
  • Always validate user input before conversion in real-world applications.
  • Remember that int() truncates decimal values.
  • Use str() when combining numbers with text.
  • Be aware that some conversions may raise exceptions if the value is invalid.

Key Points to Remember #

  • Type conversion changes a value from one data type to another.
  • Python provides built-in conversion functions such as int(), float(), str(), bool(), list(), tuple(), and set().
  • input() returns a string, which often needs to be converted before performing arithmetic operations.
  • int() truncates the fractional part of floating-point numbers.
  • Invalid conversions raise exceptions such as ValueError.
  • Type conversion is widely used when processing user input and transforming data between different formats.

Powered by BetterDocs

Leave a Reply

Your email address will not be published. Required fields are marked *