新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python random模块全解析:从基础到高级应用

发布时间:2026/9/29 22:00:14来源:尧图网络
Python random模块全解析:从基础到高级应用
1. random 模块概述Python 的random模块是标准库中用于生成伪随机数的核心模块提供了多种随机数生成函数广泛应用于模拟、游戏、抽样、加密辅助等场景。需要注意的是random模块生成的是伪随机数基于梅森旋转算法Mersenne Twister并非真正的随机数因此不适合用于安全敏感的场景如密码生成这类需求应使用secrets模块。2. 基础随机数生成以下是最常用的几个基础函数random()返回[0.0, 1.0)区间内的随机浮点数。uniform(a, b)返回[a, b]区间内的随机浮点数。randint(a, b)返回[a, b]区间内的随机整数包含两端。randrange(start, stop, step)返回指定范围内的随机整数不包含stop。import random 随机浮点数 print(random.random()) # 0.0 到 1.0 之间 print(random.uniform(1, 10)) # 1.0 到 10.0 之间 随机整数 print(random.randint(1, 100)) # 1 到 100 之间含两端 print(random.randrange(0, 100, 5)) # 0, 5, 10, ..., 95 中随机一个3. 序列相关操作random 模块提供了对列表、元组等序列的随机操作函数choice(seq)从序列中随机返回一个元素。choices(seq, weights, k)按权重从序列中随机返回 k 个元素可重复。sample(seq, k)从序列中随机返回 k 个不重复的元素。shuffle(seq)原地打乱序列顺序。import random fruits [apple, banana, cherry, durian] 随机选一个 print(random.choice(fruits)) 按权重随机选 3 个可重复 print(random.choices(fruits, weights[1, 2, 3, 4], k3)) 随机选 2 个不重复的 print(random.sample(fruits, 2)) 原地打乱 random.shuffle(fruits) print(fruits)4. 随机种子与复现通过seed()函数可以设置随机数种子使得后续生成的随机序列可复现。这在调试、测试和需要结果一致的场景中非常有用。import random random.seed(42) print(random.random()) # 0.6394267984578837 random.seed(42) # 重置种子 print(random.random()) # 再次得到相同结果 0.63942679845788375. 其他实用函数getrandbits(k)生成 k 位随机二进制整数。gauss(mu, sigma)生成符合高斯分布正态分布的随机浮点数。expovariate(lambd)生成符合指数分布的随机浮点数。SystemRandom基于操作系统提供的随机源适合对随机性要求较高的场景。import random 生成 8 位随机整数 print(random.getrandbits(8)) 高斯分布均值 0标准差 1 print(random.gauss(0, 1)) 指数分布 print(random.expovariate(1.5)) 使用系统随机源 sr random.SystemRandom() print(sr.randint(1, 100))6. 总结random 模块功能丰富覆盖了从基础随机数、序列操作到概率分布等多个层面。日常开发中random()、randint()、choice()、shuffle()是最常用的函数需要可复现结果时使用seed()涉及安全场景时则应改用secrets模块。掌握这些函数可以高效地完成绝大多数随机化需求。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

借助湘楚有才走好湖南单招,本土教研吃透考情,定制服务兼顾报考与成长 2026/9/29 22:58:24

借助湘楚有才走好湖南单招,本土教研吃透考情,定制服务兼顾报考与成长

湖南单招报考热度逐年攀升,不少考生和家长在选择单招相关服务时,很容易陷入只看重考前刷题提分的误区,忽略机构对湖南本地考情的理解深度,以及录取之后的后续服务能力。部分机构直接照搬外省资料开展教学,志愿填报套用网上现成模板,考生上岸之后便不再提供任何支持。借助湘楚有…

阅读更多 →
VKL144C低功耗段码屏驱动实战:选型、硬件设计与驱动开发全解析 2026/9/29 22:58:24

VKL144C低功耗段码屏驱动实战:选型、硬件设计与驱动开发全解析

段码屏驱动这个方向,看起来是个小众得不能再小众的领域,但只要你做过带液晶显示的电池供电设备,就一定绕不开一个核心矛盾:显示要常亮,功耗要极低。我最早接触这类需求是在一个温湿度记录仪项目上,客户要求…

阅读更多 →
嵌入式I2C鲁棒性设计:状态机+时钟延展+死锁恢复实战 2026/9/29 22:58:24

嵌入式I2C鲁棒性设计:状态机+时钟延展+死锁恢复实战

1. 这不是讲设计模式的PPT,而是一次嵌入式系统里真实踩坑后的复盘“第06讲:从模式设计与总线鲁棒性——时钟延展落地 死锁恢复”,光看标题,很多人第一反应是:又一门软考复习课?Java设计模式I2C协议混搭&am…

阅读更多 →
汽车电子知识地图:从嵌入式开发、CAN总线到UDS诊断与测试验证 2026/9/29 22:58:24

汽车电子知识地图:从嵌入式开发、CAN总线到UDS诊断与测试验证

汽车电子这个方向,这几年一直是嵌入式圈子里讨论度最高的赛道之一。整车厂、Tier1供应商、芯片原厂、工具链厂商都在往里面砸资源,岗位需求量大,技术栈也够深,从MCU底层的寄存器配置到上一层诊断协议、再往上到整车级的测试验证和…

阅读更多 →
Comet快速上手教程:5分钟让AI编码不再跑偏,只需记住3个命令 2026/9/29 22:58:23

Comet快速上手教程:5分钟让AI编码不再跑偏,只需记住3个命令

Comet快速上手教程:5分钟让AI编码不再跑偏,只需记住3个命令 【免费下载链接】comet Comet: agent skill harness for turning ideas into evaluated workflows 项目地址: https://gitcode.com/rpamis/comet 刚接触 Comet 快速上手 时,…

阅读更多 →
2026.9.28:Ubuntu.24.04安装nfs server 2026/9/29 22:58:10

2026.9.28:Ubuntu.24.04安装nfs server

Ubuntu.24.04安装nfs server 安装NFS Server sudo apt install nfs-server -y配置NFS sudo bash -c echo "/home/agi/nfs 192.168.68.0/24(insecure,rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)" >> /etc/exports以上内容注释: /ho…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉