If you are interested to learn about the python datatype
Python Numbers
Number data types store numeric values. They are immutable data types, means that changing the value of a number data type results in a newly allocated object. Number objects are created when you assign a value to them.
There are three numeric types in Python:
int
float
complex
Variables of numeric types are created when you assign a value to them:
Example
x = 1 # int y = 2.8 # float z = 1j # complex
To verify the type of any object in Python, use the type()
function:
Example
print(type(x)) print(type(y)) print(type(z))

Int
Int, or integer, is a whole number, positive or negative, without decimals, of unlimited length.
Example
Integers:
x = 1 y = 35656222554887711 z = -3255522 print(type(x)) print(type(y)) print(type(z))
Float
Float, or “floating point number” is a number, positive or negative, containing one or more decimals.
Example
Floats:
x = 1.10 y = 1.0 z = -35.59 print(type(x)) print(type(y)) print(type(z))
Float can also be scientific numbers with an “e” to indicate the power of 10.
Example
Floats:
x = 35e3 y = 12E4 z = -87.7e100 print(type(x)) print(type(y)) print(type(z))
Complex
Complex numbers are written with a “j” as the imaginary part:
Example
Complex:
x = 3+5j y = 5j z = -5j print(type(x)) print(type(y)) print(type(z))
Number Type Conversion
Python converts numbers internally in an expression containing mixed types to a common type for evaluation. But sometimes, you need to coerce a number explicitly from one type to another to satisfy the requirements of an operator or function parameter.
- Type int(x) to convert x to a plain integer.
- Type long(x) to convert x to a long integer.
- Type float(x) to convert x to a floating-point number.
- Type complex(x) to convert x to a complex number with real part x and imaginary part zero.
- Type complex(x, y) to convert x and y to a complex number with real part x and imaginary part y. x and y are numeric expressions
You can convert from one type to another with the int()
, float()
, and complex()
methods:
Example
Convert from one type to another:
x = 1 # int y = 2.8 # float z = 1j # complex #convert from int to float: a = float(x) #convert from float to int: b = int(y) #convert from int to complex: c = complex(x) print(a) print(b) print(c) print(type(a)) print(type(b)) print(type(c))
Mathematical Constants
The module also defines two mathematical constants −
Sr.No. | Constants & Description |
---|---|
1 | piThe mathematical constant pi. |
2 | eThe mathematical constant e. |
Type Conversion
You can convert from one type to another with the int()
, float()
, and complex()
methods:
Example
Convert from one type to another:
x = 1 # int y = 2.8 # float z = 1j # complex #convert from int to float: a = float(x) #convert from float to int: b = int(y) #convert from int to complex: c = complex(x) print(a) print(b) print(c) print(type(a)) print(type(b)) print(type(c))
Writing numbers in binary, octal, and hexadecimal in Python
More often than not, programmers need to deal with numbers other than decimal. To do this, you can use appropriate prefixes.
Number System | Prefix |
Binary | 0b or 0B |
Octal | 0o or 0O |
Hexadecimal | 0x or 0X |
1. Binary Numbers in Python
When you want to write a binary number, use the prefix 0b or 0B. For example, we know that the binary for 7 is 111.
>>> print(0b111)
Output
7
You can also apply conversion functions on these numbers.
>>> int(0b10)
Output
2
2. Octal Numbers in Python
The prefix for octal is 0o or 0O.
>>> print(0O10)
Output
8
The following code causes an error. This is because the octal number system does not have the number 8. It has the numbers 0-7.
>>> print(0O8)
Output
SyntaxError: invalid token
>>> float(0B10)
Output
2.0
3. Hexadecimal Numbers in Python
The hexadecimal number system has numbers 0-9 and then A-F. For that, use the prefix 0x or 0X.
>>> print(0xFF)
Output
255
>>> print(0xFE)
Output
254
Python Decimal Module
Let’s try out adding 1.1 and 2.2 in the shell, and let’s compare it with
3.3.>>> (1.1+2.2)==3.3
Output
False
Why did it return False? Let’s try printing the sum.
>>> 1.1+2.2
Output
3.3000000000000003
Woah, how did this happen? Well, this is duly attributed to hardware limitations, and is not a flaw of Python. Because the hardware stores decimals as binary fractions, it isn’t possible to store it very accurately. Let’s take an example.
>>> 1/3
Output
0.3333333333333333
Fractions Module in Python
Another module that Python provides, the fractions module lets you deal with fractions. The Fraction() function returns the value in the form of numerator and denominator.
>>> from fractions import Fraction>>> print(Fraction(1.5))
Output
3/2