Python3 random模块随机数生成详解与使用指南

南乔
南乔
发布时间:2026-10-13| 2人浏览过
原创

本文详细介绍Python3中random模块的核心功能,涵盖random()、uniform()、randint()等基础随机数生成方法,以及choice、shuffle和sample对序列的操作。文章指出Python生成的是基于统计规律的伪随机数,并附带完整代码示例演示整数、浮点数、字符及列表洗牌的具体实现。

本文介绍如何在Python3中实现随机数功能,供读者参考学习。

random模块主要用于生成随机数,可用于随机生成数字或从字符串中选取元素。random.seed(x)用于设定随机数生成器的种子seed,通常无需手动指定,Python会自动选择。random.random()生成一个0到1之间的随机浮点数(0 <= n < 1)。random.uniform(a, b)生成指定范围内的随机浮点数,满足a <= n <= b。random.randint(a, b)生成指定范围内的随机整数,下限为a,上限为b,结果满足a <= n <= b;若a等于b则返回a,若a大于b则报错。random.randrange([start], stop [, step])从指定范围[start, stop)内按指定步长递增的集合中获取一个随机数,步长默认为1。random.choice(sequence)从序列中获取一个随机元素,参数sequence泛指list、tuple、字符串等有序类型。random.shuffle(x[, random])用于将列表中的元素打乱(洗牌),该操作会直接修改原始列表。random.sample(sequence, k)从指定序列中随机获取k个元素组成新序列返回,不改变原有序列。

需要注意的是,Python的random模块生成的是伪随机数。

能否通过Python random实现真随机数?答案是否定的。真随机数要求基于绝对随机事件产生,即存在无因果关系的随机事件,这通常被认为仅存在于哲学领域。

目前的随机数产生均属于统计意义上的随机,因为随机源多为自然事件,最多可视为混沌变量,绝对的无因果关系可能并不存在。

不过,统计随机数在大多数应用场景中已经足够使用。

建议直接使用Python内置的random模块。

以下是代码演示部分。

import random
#随机整数
import string

print(random.randint(0,99))
#随机选取0到100间的偶数
print(random.randrange(0, 101, 2))
#随机浮点数
print(random.random())
print(random.uniform(1, 10))
#随机字符
print(random.choice('abcdefg&#%^*f'))
#多个字符中选取特定数量的字符
print(random.sample('abcdefghij',3))
#多个字符中选取特定数量的字符组成新字符串
# print(string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).replace(" ",""))
#随机选取字符串
print(random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] ))
#洗牌
items = [1, 2, 3, 4, 5, 6]
random.shuffle(items)
print("洗牌:", items)
#从指定序列中随机获取k个元素作为一个片段返回,不会改变原有序列
list = []
list = random.sample(items,2)
print(list)

运行结果如下。

以上就是本文的全部内容,希望对读者有所帮助,欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。