Skip to content

走进 Python 的 Random 模块

在 Python 编程中,random 模块是一个非常有用的工具,它允许我们生成各种类型的随机数。需要注意的是,random 模块生成的并不是真正意义上的随机数,而是“伪随机数”。对于大多数非加密应用来说,这些伪随机数已经足够使用。 如果你需要更高安全级别的随机数,例如用于加密目的,应该考虑使用 secrets 模块。

生成 0 到 1 之间的随机浮点数:random()

random() 函数是 random 模块中最基础的函数之一。它会生成一个介于 0.0(包含)和 1.0(不包含)之间的随机浮点数。换句话说,生成的数值范围是 [0.0, 1.0)

python
import random

random_number = random.random()
print(random_number)  # 每次运行结果都会不同

每次运行上面的代码,你都会得到一个不同的随机浮点数。

生成指定范围内的随机整数:randrange()

randrange() 函数可以生成指定范围内的随机整数,它有两种使用方式:

  1. randrange(stop): 生成一个从 0 (包含) 到 stop (不包含) 的随机整数。

    python
    import random
    
    random_integer = random.randrange(10)
    print(random_integer)  # 可能的结果是 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  2. randrange(start, stop[, step]): 生成一个从 start (包含) 到 stop (不包含),以 step 为步长的随机整数。step 是可选参数,默认值为 1。

    python
    import random
    
    random_integer1 = random.randrange(5, 10)
    print(random_integer1)  # 可能的结果是 5, 6, 7, 8, 9
    
    random_integer2 = random.randrange(0, 10, 2)
    print(random_integer2)  # 可能的结果是 0, 2, 4, 6, 8

    在这个例子中,randrange(0, 10, 2) 会生成 0 到 10 之间(不包括 10)的偶数。

生成包含上下边界的随机整数:randint()

randint(a, b) 函数是 randrange(a, b+1) 的一个更易于理解的别名。 它会生成一个介于 a (包含) 和 b (包含) 之间的随机整数。

python
import random

random_integer = random.randint(10, 20)
print(random_integer)  # 可能的结果是 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

randint() 函数的使用非常直观,因为它直接指定了随机数范围的上下界。

random 模块是 Python 中生成随机数的强大工具。 通过掌握 random()randrange()randint() 这三个常用的函数,你就可以在你的程序中轻松地生成各种类型的随机数,从而实现各种有趣的功能。 记住,random 模块生成的是伪随机数,如果需要更高安全性的随机数,请考虑使用 secrets 模块。