YouTip LogoYouTip

Python Random

Python3.x Python random Module

Python random module is mainly used for generating random numbers.

The random module implements pseudo-random number generators for various distributions.

To use the random function, you must first import it:

import random

View the contents of the random module:

Example

>>>import random

>>>dir(random)

['BPF','LOG4','NV_MAGICCONST','RECIP_BPF','Random','SG_MAGICCONST','SystemRandom','TWOPI','_Sequence','_Set','__all__','__builtins__','__cached__','__doc__','__file__','__loader__','__name__','__package__','__spec__','_accumulate','_acos','_bisect','_ceil','_cos','_e','_exp','_floor','_inst','_log','_os','_pi','_random','_repeat','_sha512','_sin','_sqrt','_test','_test_generator','_urandom','_warn','betavariate','choice','choices','expovariate','gammavariate','gauss','getrandbits','getstate','lognormvariate','normalvariate','paretovariate','randbytes','randint','random','randrange','sample','seed','setstate','shuffle','triangular','uniform','vonmisesvariate','weibullvariate']

Next, we use the random() method to return a random number in the half-open interval [0,1), which includes 0 but not 1.

Example

# Import random package

import random

# Generate random number

print(random.random())

The output of the above example is:

0.4784904215869241

seed() method changes the seed of the random number generator, which can be called before other random module functions.

Example

#!/usr/bin/python3

import random

random.seed()

print("Generate random number with default seed:",random.random())

print("Generate random number with default seed:",random.random())

random.seed(10)

print("Generate random number with integer 10 seed:",random.random())

random.seed(10)

print("Generate random number with integer 10 seed:",random.random())

random.seed("hello",2)

print("Generate random number with string seed:",random.random())

The output of the above example after running is:

Generate random number with default seed: 0.7908102856355441Generate random number with default seed: 0.81038961519195Generate random number with integer 10 seed: 0.5714025946899135Generate random number with integer 10 seed: 0.5714025946899135Generate random number with string seed: 0.3537754404730722

random Module Methods

The random module methods are as follows:

MethodDescription
seed()Initialize the random number generator
getstate()Return an object capturing the generator's current internal state.
setstate()state should be obtained from a previous call to getstate(), and setstate() restores the generator's internal state to what it was when getstate() was called.
getrandbits(k)Return a non-negative Python integer with k random bits. This method is provided with the MersenneTwister generator, and some other generators may also provide it as an optional part of the API. Where possible, getrandbits() enables randrange() to handle arbitrarily large ranges.
randrange()Return a randomly selected element from range(start, stop, step).
randint(a, b)Return a random integer N such that a <= N <= b.
choice(seq)Return a random element from the non-empty sequence seq. If seq is empty, raises IndexError.
choices(population, weights=None, *, cum_weights=None, k=1)Return a k sized list of elements chosen with replacement from population. If population is empty, raises IndexError.
shuffle(x[, random])Shuffle the sequence x in place.
sample(population, k, *, counts=None)Return a k length list of unique elements chosen from the population sequence or set. Used for random sampling without replacement.
random()Return the next random floating point number in the range [0.0, 1.0).
uniform()Return a random floating point number N such that a <= N <= b when a <= b, and b <= N <= a when b < a.
triangular(low, high, mode)Return a random floating point number N such that low <= N <= high and with the specified mode between these bounds. The low and high bounds default to zero and one. The mode parameter defaults to the midpoint between the bounds, giving a symmetric distribution.
betavariate(alpha, beta)Beta distribution. The conditions on the parameters are alpha > 0 and beta > 0. The returned value is between 0 and 1.
expovariate(lambd)Exponential distribution. lambd is 1.0 divided by the desired mean, and should be non-zero.
gammavariate()Gamma distribution (not the gamma function). The conditions on the parameters are alpha > 0 and beta > 0.
gauss(mu, sigma)Normal distribution, also known as Gaussian distribution. mu is the mean, and sigma is the standard deviation. This function is slightly faster than the normalvariate() function defined below.
lognormvariate(mu, sigma)Log normal distribution. If you take the natural logarithm of this distribution, you will get a normal distribution with mean mu and standard deviation sigma. mu can be any value, sigma must be greater than zero.
normalvariate(mu, sigma)Normal distribution. mu is the mean, sigma is the standard deviation.
vonmisesvariate(mu, kappa)von Mises distribution. mu is the mean angle, expressed in radians between 0 and 2*pi, and kappa is the concentration parameter, which must be greater than or equal to zero. If kappa is equal to zero, this distribution reduces to a uniform random angle over the range 0 to 2*pi.
paretovariate(alpha)Pareto distribution. alpha is the shape parameter.
weibullvariate(alpha, beta)Weibull distribution. alpha is the scale parameter, beta is the shape parameter.
← Ref Random RandrangePython Requests β†’