走进 Python 的 Random 模块
在 Python 编程中,random
模块是一个非常有用的工具,它允许我们生成各种类型的随机数。需要注意的是,random
模块生成的并不是真正意义上的随机数,而是“伪随机数”。对于大多数非加密应用来说,这些伪随机数已经足够使用。 如果你需要更高安全级别的随机数,例如用于加密目的,应该考虑使用 secrets
模块。
生成 0 到 1 之间的随机浮点数:random()
random()
函数是 random
模块中最基础的函数之一。它会生成一个介于 0.0(包含)和 1.0(不包含)之间的随机浮点数。换句话说,生成的数值范围是 [0.0, 1.0)
。
import random
random_number = random.random()
print(random_number) # 每次运行结果都会不同
每次运行上面的代码,你都会得到一个不同的随机浮点数。
生成指定范围内的随机整数:randrange()
randrange()
函数可以生成指定范围内的随机整数,它有两种使用方式:
randrange(stop)
: 生成一个从 0 (包含) 到stop
(不包含) 的随机整数。pythonimport random random_integer = random.randrange(10) print(random_integer) # 可能的结果是 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
randrange(start, stop[, step])
: 生成一个从start
(包含) 到stop
(不包含),以step
为步长的随机整数。step
是可选参数,默认值为 1。pythonimport 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
(包含) 之间的随机整数。
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
模块。