Type Casting is the method to convert the Python variable datatype into a certain data type in order to perform the required operation by users. In this article, we will see the various techniques for typecasting. There can be two types of Type Casting in Python:
- Python Implicit Type Conversion
- Python Explicit Type Conversion
Implicit Type Conversion
In this, method, Python converts the datatype into another datatype automatically. Users don't have to involve in this process.
Python
# implicit type Casting
# Python automatically converts
# a to int
a = 7
print(type(a))
# Python automatically converts
# b to float
b = 3.0
print(type(b))
# Python automatically converts
# c to float as it is a float addition
c = a + b
print(c)
print(type(c))
# Python automatically converts
# d to float as it is a float multiplication
d = a * b
print(d)
print(type(d))
Output<class 'int'>
<class 'float'>
10.0
<class 'float'>
21.0
<class 'float'>
Explicit Type Conversion
In this method, Python needs user involvement to convert the variable data type into the required data type.
Examples of Type Casting in Python
Mainly type casting can be done with these data type functions:
- Int(): Python Int() function take float or string as an argument and returns int type object.
- float(): Python float() function take int or string as an argument and return float type object.
- str(): Python str() function takes float or int as an argument and returns string type object.
Python Convert Int to Float
Here, we are Converting Int to Float in Python with the float() function.
Python
# int variable
a = 5
# typecast to float
n = float(a)
print(n)
print(type(n))
Output5.0
<class 'float'>
Python Convert Float to Int
Here, we are Converting Float to int datatype in Python with int() function.
Python
# int variable
a = 5.9
# typecast to int
n = int(a)
print(n)
print(type(n))
Python Convert int to String
Here, we are Converting int to String datatype in Python with str() function.
Python
# int variable
a = 5
# typecast to str
n = str(a)
print(n)
print(type(n))
Python Convert String to float
Here, we are casting string data type into float data type with float() function.
Python
# string variable
a = "5.9"
# typecast to float
n = float(a)
print(n)
print(type(n))
Output5.9
<class 'float'>
Python Convert string to int
Here, we are Converting string to int datatype in Python with int() function. If the given string is not number, then it will throw an error.
Python
# string variable
a = "5"
b = 't'
# typecast to int
n = int(a)
print(n)
print(type(n))
print(int(b))
print(type(b))
Output
5
<class 'int'>
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipython-input-1957009883.py in <cell line: 0>()
9 print(type(n))
10
---> 11 print(int(b))
12 print(type(b))
ValueError: invalid literal for int() with base 10: 't'
The string "5" is successfully converted into an integer 5. Since 't' is not a number, Python cannot convert it into an integer.
Adding String and Integer Without Conversion
If we try to directly add an integer and a string, Python will throw an error because they are different data types.
Python
# integer variable
a = 5
# string variable
b = 't'
# typecast to int
n = a+b
print(n)
print(type(n))
Output
TypeError: unsupported operand type(s) for +: 'int' and 'str'
We should first convert the string into an integer and then add:
Python
a = 5
b = '7'
# explicit conversion of string to int
n = a + int(b)
print(n)
print(type(n))
Data Types Numbers Casting Strings in Python
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice