Python programming language has built-in support for various data types. Some times, the programmers need Type Conversion or Type Casting support in Python. Let us know more in this Last Minute Python tutorial with examples.
Type Conversion is also called Parsing if it involves Strings.
You can check the compiling and running a python program article before experimenting with these examples below.
Python Type Casting or Type Conversion
Converting one type of data into another type is called Type Casting or Conversion. Most of the conversions in Python are explicit in nature using some functions or methods.
Below is the list of allowed type conversions with numeric data.
- int to float conversion
- int to complex conversion
- float to int conversion
- float to complex conversion
Float to int conversion is always lossy.
Below is the list of invalid type casting or conversions with numeric data.
- complex to int conversion
- complex to float conversion
Below is the list of possible type conversions or parsings between string and numeric types.
- str to int
- str to float
- str to complex
- int to str
- float to str
- float to complex
Below is the list of possible conversion between bool and other data types.
- int to bool
- float to bool
- complex to bool
- string to bool
- bool to int
- bool to float
- bool to complex
Below is the list of possible or allowed type conversions among Sequences.
- range to list
- range to tuple
- range to set
- list to tuple
- list to set
- tuple to list
- tuple to set
- set to list
- set to tuple
- set to str
- tuple to str
- range to str
- list to str
Example 1:
a = 10 b = float(a) #int to float conversion print(b) #output 10.0 c = complex(a) #int to complex conversion print(c) #output (10+0j) d = 15.5 #float e = int(d) #float to int conversion print(e) #output 15 f = complex(d) #float to complex print(f) #output (15.5+0j)
Example 2:
str_a = '15' int_a = int(str_a) #string to int conversion print(int_a) #output 15 print(int_a + 1) #output 16 str_b = '25.89' float_b = float(str_b) #string to float conversion print(float_b) #output 25.89 int_b = int(float_b) #float to int conversion print(int_b) #output 25 str_c = '25+3J' con_c= complex(str_c) #string to complex conversion print(con_c) #output (25+3j)
TIP: It is a good practice to parse numbers in a string (str) format to float first and int conversion next. If you directly cast a float value inside the string to int, you will get an error like "ValueError: invalid literal for int() with base 10".
You can convert a bool type value to an int without using the int() method. This conversion is implicit or automatic.
Example 3:
boolean = True a = 10 + boolean #boolean to int conversion print(a) #output 11 bool1 = bool(3) #int to bool conversion print(bool1) #output True bool2 = bool(5.5) #float to bool conversion print(bool2) #output True bool3 = bool('abc') #string to bool conversion print(bool3) #output True bool4 = bool(5+6j) #complex to bool conversion print(bool4) #output True
Example 4:
list1 = [5, 7, 9, 11, 15] tuple1 = tuple(list1) #list to tuple print(tuple1) #output (5, 7, 9, 11, 15) set1 = set(list1) #list to set print(set1) #output {5, 7, 9, 11, 15} list2 = list(set1) #set to list print(list2) #output [5, 7, 9, 11, 15] list3 = list(tuple1) #tuple to list set5 = set(tuple1) #tuple to set tuple5 = tuple(set5) #set to tuple range1 = range(0,6) list4 = list(range1) #range to list print(list4) #output [0, 1, 2, 3, 4, 5] set4 = set(range1) #range to set print(set4) #output {0, 1, 2, 3, 4, 5} tuple4 = tuple(range1) #range to tuple print(tuple4) #output (0, 1, 2, 3, 4, 5)
You can try some other combinations of these data types for conversions or type castings.
Share this Last Minute Python tutorial on Type Casting or Type Conversion with your friends and colleagues to encourage authors.