Python Random Module

Python offers random module that can generate random numbers.

These are pseudo-random number as the sequence of number generated depends on the seed.

If the seeding value is same, the sequence will be the same. For example, if you use 2 as the seeding value, you will always see the following sequence.

import random
random.seed(2)

print(random.random())
print(random.random())
print(random.random())

The output will always follow the sequence:


0.9560342718892494
0.9478274870593494
0.05655136772680869

Not so random eh? Since this generator is completely deterministic, it must not be used for encryption purpose.

Here is the list of all the functions defined in random module with a brief explanation of what they do.

List of Functions in Python Random Module
Function Description
seed(a=None, version=2) Initialize the random number generator
getstate() Returns an object capturing the current internal state of the generator
setstate(state) Restores the internal state of the generator
getrandbits(k) Returns a Python integer with k random bits
randrange(start, stop[, step]) Returns a random integer from the range
randint(a, b) Returns a random integer between a and b inclusive
choice(seq) Return a random element from the non-empty sequence
shuffle(seq) Shuffle the sequence
sample(population, k) Return a k length list of unique elements chosen from the population sequence
random() Return the next random floating point number in the range [0.0, 1.0)
uniform(a, b) Return a random floating point number between a and b inclusive
triangular(low, high, mode) Return a random floating point number between low and high, with the specified mode between those bounds
betavariate(alpha, beta) Beta distribution
expovariate(lambd) Exponential distribution
gammavariate(alpha, beta) Gamma distribution
gauss(mu, sigma) Gaussian distribution
lognormvariate(mu, sigma) Log normal distribution
normalvariate(mu, sigma) Normal distribution
vonmisesvariate(mu, kappa) Vonmises distribution
paretovariate(alpha) Pareto distribution
weibullvariate(alpha, beta) Weibull distribution

Visit this page to learn more on how you can generate pseudo-random numbers in Python.