logo

Understanding Python Numbers: A Comprehensive Guide

O

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.