Understanding Python Numbers: A Comprehensive Guide
Ohidur Rahman Bappy
MAR 22, 2025
Understanding Python Numbers: A Comprehensive Guide
Explore the various numeric types in Python, including integers, floats, and complex numbers.
Python Number Types: int, float, complex
Python provides three distinct numeric types to represent numbers: integers, floats, and complex numbers.
Integers
Integers in Python are zero, positive, or negative whole numbers without a fractional part, possessing unlimited precision. Examples include 0
, 100
, and -10
. Here's how you can define integers:
>>> 0
0
>>> 100
100
>>> -10
-10
>>> 1234567890
1234567890
Integers can also be represented in binary, octal, and hexadecimal formats:
>>> 0b11011000 # binary
216
>>> 0o12 # octal
10
>>> 0x12 # hexadecimal
18
All integer literals or variables are objects of the int
class. You can verify this with the type()
function:
>>> type(100)
<class 'int'>
>>> x = 1234567890
>>> type(x)
<class 'int'>
Note: Leading zeros in integers are not allowed, and Python uses underscores _
as a delimiter for readability:
>>> x = 1_234_567_890
>>> x
1234567890
If you include a fractional part, the number becomes a float:
>>> x = 5
>>> type(x)
<class 'int'>
>>> x = 5.0
>>> type(x)
<class 'float'>
The int()
function can convert strings or floats to integers:
>>> int('5.5')
5
>>> int('100', 2)
4
Binary, Octal, and Hexadecimal Representations
Binary
Binary numbers are prefixed with 0b
:
>>> x = 0b11011000
>>> x
216
Octal
Octal numbers start with 0o
:
>>> x = 0o12
>>> x
10
Hexadecimal
Hexadecimal numbers utilize 0x
:
>>> x = 0x12
>>> x
18
Floats
Floats are real numbers with a fractional part, denoted using a decimal point or scientific notation E
or e
.
>>> f = 1.2
>>> f
1.2
Underscores can separate float digits for readability:
>>> f = 123_42.222_013
>>> f
12342.222013
Floats have a system-dependent maximum size, exceeding it results in infinity:
>>> f = 2e400
>>> f
inf
Scientific Notation
Floats can be expressed succinctly in scientific notation:
>>> f = 1e3
>>> f
1000.0
Convert strings and integers to floats using float()
:
>>> float('-5')
-5.0
Complex Numbers
A complex number combines real and imaginary components. Use j
or J
for the imaginary part:
>>> a = 5 + 2j
>>> a
(5+2j)
Arithmetic Operators
Here are the primary arithmetic operations:
- Addition (
+
): Adds two values. - Subtraction (
-
): Subtracts one value from another. - Multiplication (
*
): Multiplies two values. - Division (
/
): Divides one value by another. - Modulus (
%
): Gives the remainder of the division. - Exponent (
**
): Raises a number to a power. - Floor Division (
//
): Division with floors result.
Complex Arithmetic
Operations on complex numbers combine real and imaginary parts:
>>> a = 6 + 4j
>>> b = 3 + 2j
>>> a + b
(9 + 6j)
Type Casting
Convert between numeric types using these functions:
int
: Converts to an integer.float
: Converts to a floating-point number.complex
: Converts to a complex number.hex
: Converts to a hexadecimal.oct
: Converts to an octal.
These insights into Python's numeric types should equip you with the tools needed for handling numbers effectively in your programs.