Python测试开发基础(三)---random模块

什么是 `random` 模块?

`random` 是 Python 自带的一个模块,这个模块帮你做一些"随机"的事情。比如,你想让计算机帮你随机选一个数字、打乱一组数据的顺序,或者从一堆东西里随机挑一个,`random` 模块都可以做到。

如何使用 `random` 模块?

在使用 `random` 模块之前,你需要先把它导入到你的程序中。可以用下面的代码来导入:

```python

import random

```

导入后,你就可以使用 `random` 模块提供的各种功能了。

常用功能

1. 生成随机小数

你想要一个 0 到 1 之间的随机小数吗?`random.random()` 就能做到!

```python

import random

生成一个 0 到 1 之间的随机小数

random_number = random.random()

print(random_number) # 比如输出: 0.3744

```

2. 生成随机整数

如果你想要一个随机的整数,比如从 1 到 10 之间,使用 `random.randint(a, b)` 就行了。

```python

import random

生成一个 1 到 10 之间的随机整数

random_integer = random.randint(1, 10)

print(random_integer) # 比如输出: 7

```

3. 随机选择一个元素

假设你有一组水果的名字,想随机选一个,`random.choice(seq)` 就可以帮你做到。

```python

import random

fruits = ['apple', 'banana', 'cherry', 'date']

随机选择一个水果

random_fruit = random.choice(fruits)

print(random_fruit) # 比如输出: 'banana'

```

4. 随机打乱顺序

有时候,你可能想打乱一组数据的顺序,比如你有一副牌,想随机打乱它。`random.shuffle(seq)` 就能帮你把顺序打乱。

```python

import random

cards = ['ace', 'king', 'queen', 'jack']

打乱这副牌的顺序

random.shuffle(cards)

print(cards) # 比如输出: ['queen', 'ace', 'jack', 'king']

```

5. 从一组数据中随机挑选多个元素

假如你有一个班级名单,想随机挑选三名同学回答问题,你可以用 `random.sample(seq, k)` 来实现。

```python

import random

students = ['Alice', 'Bob', 'Charlie', 'Diana', 'Eve']

随机挑选3个同学

random_students = random.sample(students, 3)

print(random_students) # 比如输出: ['Charlie', 'Eve', 'Alice']

```

6. 使用种子让随机结果可预测

通常,每次运行随机函数都会得到不同的结果。但如果你想让每次运行都得到相同的随机结果,可以使用 `random.seed()`。

```python

import random

设置随机种子

random.seed(42)

print(random.random()) # 每次运行都会输出相同的结果,比如:0.6394267984578837

```

总结

`random` 模块让你可以轻松地生成随机数、随机选择、随机打乱等。对于编程新手来说,这个模块非常有用,特别是在你想让程序有一点"随机性"时。

你可以试着把这些代码在你的 Python 环境中运行一下,观察它们的效果,这样你会更容易理解这些功能的用途和效果。

相关推荐
IVEN_4 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang5 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮5 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling5 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮8 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽9 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers