Leela Soft Python Madhu
Type Casting
We can convert one type value to another type. This conversion is called Typecasting or
Type conversion.
The following are various inbuilt functions for type casting.
1. int()
2. float()
3. complex()
4. bool()
5. str()
1. int():
We can use this function to convert values from other types to int
Example:
>>> int(123.987)
123
>>> int(10+5j)
TypeError: can't convert complex to int
>>> int(True)
1
>>> int(False)
0
>>> int("10")
10
>>> int("10.5")
ValueError: invalid literal for int() with base 10: '10.5'
>>> int("ten")
ValueError: invalid literal for int() with base 10: 'ten'
>>> int("0B1111")
ValueError: invalid literal for int() with base 10: '0B1111'
Note:
1. We can convert from any type to int except complex type.
2. If we want to convert str type to int type, compulsory str should contain only integral
value and should be specified in base-10
2. float():
We can use float() function to convert other type values to float type.
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
Example:
>>> float(10)
10.0
>>> float(10+5j)
TypeError: can't convert complex to float
>>> float(True)
1.0
>>> float(False)
0.0
>>> float("10")
10.0
>>> float("10.5")
10.5
>>> float("ten")
ValueError: could not convert string to float: 'ten'
>>> float("0B1111")
ValueError: could not convert string to float: '0B1111'
Note:
1. We can convert any type value to float type except complex type.
2. Whenever we are trying to convert str type to float type compulsory str should be either
integral or floating point literal and should be specified only in base-10.
3. complex():
We can use complex() function to convert other types to complex type.
Form-1: complex(x)
We can use this function to convert x into complex number with real part x and imaginary
part 0.
Example:
complex(10) 10+0j
complex(10.5) 10.5+0j
complex(True) 1+0j
complex(False) 0j
complex("10") 10+0j
complex("10.5") 10.5+0j
complex("ten") ValueError: complex() arg is a malformed string
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
Form-2: complex(x, y)
We can use this method to convert x and y into complex number such that x will be real part
and y will be imaginary part.
Example:
complex(10,-2) 10-2j
complex(True,False) 1+0j
4. bool():
We can use this function to convert other type values to bool type.
Example:
bool(0) False
bool(1) True
bool(10) True
bool(10.5) True
bool(0.178) True
bool(0.0) False
bool(10-2j) True
bool(0+1.5j) True
bool(0+0j) False
bool("True") True
bool("False") True
bool("") False
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
5. str():
We can use this method to convert other type values to str type
Example:
>>> str(10)
'10'
>>> str(10.5)
'10.5'
>>> str(10+5j)
'(10+5j)'
>>> str(True)
'True'
Fundamental Data Types vs. Immutability:
All Fundamental Data types are immutable. i.e once we create an object, we cannot
perform any changes in that object. If we are trying to change then with those changes a
new object will be created. This non-changeable behavior is called immutability.
In Python if a new object is required, then PVM won’t create object immediately. First it will
check is any object available with the required content or not. If available, then existing
object will be reused. If it is not available, then only a new object will be created. The
advantage of this approach is memory utilization and performance will be improved.
But the problem in this approach is, several references pointing to the same object, by using
one reference if we are allowed to change the content in the existing object then the
remaining references will be affected. To prevent this immutability concept is required.
According to this once creates an object we are not allowed to change content. If we are
trying to change with those changes a new object will be created.
Example:
>>> a=10
>>> b=10
>>> a is b
True
>>> id(a)
1572353952
>>> id(b)
1572353952
www.leelasoft.com Cell: 78 42 66 47 66
Leela Soft Python Madhu
www.leelasoft.com Cell: 78 42 66 47 66