Python随机数函数代码实例解析

1. Python随机数函数介绍

Python中提供了丰富的随机数函数,包括:基本随机数函数、时间相关函数、加密函数等等。随机数函数的调用需要先导入random模块,如下所示:

import random

1.1 基本随机数函数

基本随机数函数包括:random()、uniform(a,b)、randint(a,b)、choice(seq)、shuffle(seq)等。其中,random()函数会随机生成一个0到1之间的实数,uniform(a,b)函数会随机生成一个a到b之间的实数。而randint(a,b)函数则会随机生成一个a到b之间的整数。choice(seq)函数可以从序列中随机选取一个元素,而shuffle(seq)函数可以对序列进行随机排序。下面我们将针对每个函数进行详细的介绍。

1.2 时间相关函数

Python中提供了一些与时间相关的随机数函数,如:seed(a=None)、random()、randrange(start,stop,step)、choice(seq)、shuffle(seq)函数等。前面介绍过的random()函数需要使用seed()函数来给随机数生成器设置种子,而randrange(start,stop,step)函数则会返回一个从start到stop-1中以step为步长的一个随机整数。下面将针对每个函数进行详细的介绍。

1.3 加密函数

Python中提供了一些与加密相关的随机数函数,如:SystemRandom()、os.urandom(n)函数等。SystemRandom()函数会返回一个用于加解密的随机数发生器,而os.urandom(n)函数会返回一个包含n个随机字节串的bytes类型对象。下面将针对每个函数进行详细的介绍。

2. 基本随机数函数示例

下面我们将分别演示random()、uniform(a,b)、randint(a,b)、choice(seq)、shuffle(seq)函数的使用。代码如下:

import random

# random()函数

print(random.random())

# uniform(a,b)函数

print(random.uniform(5,10))

# randint(a,b)函数

print(random.randint(1,100))

# choice(seq)函数

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

# shuffle(seq)函数

lst = [1,2,3,4,5]

random.shuffle(lst)

print(lst)

运行结果如下所示:

0.9288623922628034

7.104360000461491

93

1

[5, 3, 1, 2, 4]

3. 时间相关函数示例

下面我们将分别演示seed(a=None)、random()、randrange(start,stop,step)、choice(seq)、shuffle(seq)函数的使用。代码如下:

import random

# seed(a)函数

random.seed(10)

print(random.random())

# random()函数

random.seed(20)

print(random.random())

# randrange(start,stop,step)函数

print(random.randrange(0, 10, 2))

# choice(seq)函数

print(random.choice('abcdefg'))

# shuffle(seq)函数

lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

random.shuffle(lst)

print(lst)

运行结果如下所示:

0.5714025946899135

0.9056396761745207

2

d

['e', 'g', 'a', 'd', 'c', 'b', 'f']

4. 加密函数示例

下面我们将分别演示使用SystemRandom()、os.urandom(n)函数生成随机数。代码如下:

import random

import os

# SystemRandom()函数

sr = random.SystemRandom()

print(sr.random())

# os.urandom(n)函数

print(os.urandom(10))

对于os.urandom(n)函数来说,由于生成的是bytes类型对象,所以无法直接输出,我们可以用encode()函数将其转换为字符串类型。或者使用hex()函数将其转换为16进制字符串类型。代码如下:

import random

import os

# os.urandom(n)函数

print(os.urandom(10).hex())

运行结果如下所示:

0.951369815385253

b'\xf37@AH\x9c\x00\xbdID'

f0374048419c00bd4944

5. 总结

本文主要介绍了Python中常用的随机数函数,包括基本随机数函数、时间相关函数、加密函数等等。通过对每个函数的详细介绍和实际演示,希望读者能够对Python中的随机数函数有更深入的认识和理解。另外,需要注意的是,在进行生成随机数的时候可以通过设置参数seed来调节随机数发生器的状态,从而影响生成的随机数序列。如果不设置seed参数,则默认使用系统时间作为种子,使得每次运行程序生成的随机数序列都不同。如果需要多次生成相同的随机数序列,可以设置一个固定的种子。

后端开发标签