Python random
库用法和讲解
Python random
库提供了生成伪随机数的各种函数。以下是一些常用的 random
方法的用法和讲解,使用markdown语法编写。
导入模块
在使用 random
模块之前,你需要先导入它:
import random
基本随机数函数
random.random()
- 功能:生成一个[0.0, 1.0)范围内的随机浮点数。
- 用法:
random_float = random.random()
random.uniform(a, b)
- 功能:生成一个指定范围内的随机浮点数,范围由[a, b](不一定要a < b)指定。
- 用法:
random_float = random.uniform(1.5, 4.5)
整数随机数函数
random.randint(a, b)
- 功能:生成一个指定范围内的随机整数,范围由[a, b]指定,包含两个端点。
- 用法:
random_int = random.randint(10, 20)
random.randrange(start, stop[, step])
- 功能:从指定范围内、按指定基数递增的集合中获取一个随机数。
- 用法:
random_int = random.randrange(0, 101, 5) # 从0到100内的随机5的倍数
序列随机数函数
random.choice(seq)
- 功能:从非空序列
seq
中随机返回一个元素。 - 用法:
element = random.choice(['apple', 'banana', 'cherry'])
random.choices(population, weights=None, *, cum_weights=None, k=1)
- 功能:从
population
中根据权重随机抽取k
个元素,返回一个列表。 - 用法:
elements = random.choices(['red', 'black', 'green'], weights=[18, 18, 2], k=10)
random.sample(population, k)
- 功能:从
population
中随机抽取k
个不重复的元素,返回一个新列表。 - 用法:
elements = random.sample([1, 2, 3, 4, 5], 3)
random.shuffle(x[, random])
- 功能:用于将序列
x
中的元素随机排列,打乱顺序。 - 用法:
mylist = [1, 2, 3, 4, 5]
random.shuffle(mylist)
随机位(bit)函数
random.getrandbits(k)
- 功能:生成一个
k
比特长的随机整数。 - 用法:
bits = random.getrandbits(16) # 生成一个16比特长的随机整数
随机状态函数
random.seed(a=None, version=2)
- 功能:初始化随机数生成器的内部状态。
- 用法:
random.seed(10) # 使用特定的种子初始化随机数生成器
random.getstate()
- 功能:获取随机数生成器的当前内部状态。
- 用法:
state = random.getstate()
random.setstate(state)
- 功能:恢复随机数生成器的内部状态为
state
。 - 用法:
random.setstate(state)
请注意,random
模块生成的都是伪随机数,它们是通过算法在确定的初始状态(种子)基础上生成的,具有可重现性。