Python - Data Type Numbers


Numbers in Python support the normal mathematical operations.

The plus sign (+) performs addition, a star (*) is used for multiplication, and two stars (**) are used for exponentiation:


print(123 + 234)                    # Integer addition 
print(1.5 * 4)                      # Floating-point multiplication 
print( 2 ** 100)                    # 2 to the power 100, again
# from w w  w  .  j  a v  a 2  s .c  o  m


Python 3.X's integer type automatically provides extra precision for large numbers.

Python 2.X long integer type handles large numbers for the normal integer type.

The following code computes 2 to the power 1,000,000 as an integer in Python and check the number of digits in it.


print( len(str(2 ** 1000000)))       # How many digits in a really BIG number?


Here, the code did a nested-call: first converting the ** result's number to a string of digits with the built-in str function, and then getting the length of the resulting string with len.

The end result is the number of digits.

str and len work on many object types.

Consider the following code

print( 3.1415 * 2)           # repr: as code (Pythons < 2.7 and 3.1) 
print(3.1415 * 2)            # str: user-friendly 

The first result isn't a bug: it's only a display issue.

There are two ways to print every object in Python:

  • with full precision as in the first result shown here, and
  • in a user-friendly form as in the second.

Formally, the first form is known as an object's as-code repr, and the second is its user-friendly str.

In older Pythons, the floating-point repr sometimes displays more precision than you might expect.

In Python 2.7 and the latest 3.X, floating-point numbers display themselves more intelligently, usually with fewer extraneous digits.


print(3.1415 * 2)                   # repr: as code (Pythons >= 2.7 and 3.1)


There are useful numeric modules that we import to use:


import math 
print(math.pi )
print(math.sqrt(85) )


The math module contains more advanced numeric tools as functions.

The random module performs random-number generation and random selections:


import random 
print( random.random() )
print( random.choice([1, 2, 3, 4]) )


Related Topics