
Python 的 random 模块提供了生成随机数的函数,这些函数可以用于各种场景,如模拟、游戏开发、加密等。以下是 random 模块的一些常用功能和示例。
基本函数
-  
random.seed(a=None, /)- 初始化随机数生成器。如果提供相同的种子值,将生成相同的随机数序列。import random random.seed(1) # 设置随机数生成器的种子 -  
random.getstate()- 返回随机数生成器的内部状态。 -  
random.setstate(state)- 设置随机数生成器的内部状态。 
随机浮点数
-  
random.random()- 返回一个在 [0.0, 1.0) 范围内的随机浮点数。rand_float = random.random() -  
random.uniform(a, b)- 返回一个在 [a, b] 或 [b, a] 范围内的随机浮点数。rand_float = random.uniform(1.5, 4.5) 
随机整数
-  
random.randint(a, b)- 返回一个在 [a, b] 范围内的随机整数。rand_int = random.randint(1, 10) -  
random.randrange(start, stop[, step])- 从 range(start, stop, step) 返回一个随机选择的元素。rand_int = random.randrange(0, 101, 5) # 从0到100中随机选择一个5的倍数 
随机选择和排列
-  
random.choice(sequence)- 从非空序列中返回一个随机选择的元素。element = random.choice(['apple', 'banana', 'cherry']) -  
random.choices(population, weights=None, *, cum_weights=None, random=None)- 返回包含元素的列表,元素从population中选择,选择的权重由weights或cum_weights指定。 -  
random.sample(population, weights=None, *, random=None)- 从population中随机选择len(population)个不重复的元素,返回一个新列表。sample = random.sample(range(100), 10) # 从0到99中随机选择10个不同的数字 -  
random.shuffle(x[, random])- 将序列x中的元素随机打乱位置。list_items = [1, 2, 3, 4, 5] random.shuffle(list_items) 
设置随机数生成器的随机源
-  
random.getrandbits()- 返回一个随机整数,其位数由参数指定。rand_bits = random.getrandbits(10) # 返回一个10位的随机整数 
其他相关模块
-  
secrets- 用于生成密码和安全令牌的随机数生成器,比random更安全。import secrets token = secrets.token_hex(16) # 生成一个16字节的随机十六进制字符串 -  
numpy.random- NumPy 库中的随机数生成模块,提供多维数组的随机数生成功能。import numpy as np rand_array = np.random.rand(2, 3) # 生成一个2x3的随机数组 
使用 random 模块时,请注意,它生成的是伪随机数,适合非安全相关的应用。对于需要高安全性的场景,应使用 secrets 模块或专业的加密库。



















