Python之random库的常用函数有哪些
目录
- 前言
- 一 random库介绍
- 二 基本随机函数
- 三 扩展随机函数
- 1. randint()
- 2. uniform()
- 3. randrange()
- 4. choice()
- 5. shuffle()
- 6. sample()
- 四 实例(动态金额值)
- 总结
前言 在进行接口测试时,有些接口字段在不需要测试的时候往往是被写死的,但是你不能保证它就不会出现问题,所以在平时测试的时候就需要覆盖各种情况,这时候就可以为此专门写一个函数或者类来实现字段动态值了。由于我们组的自动化脚本里面的金额字段是固定的,现在需要改成动态值,我用的是python的random库写的,现在来详细记录一下。
一 random库介绍 在python中,用于生成随机数的是random库。但random库生成的随机数是一种采用梅森旋转算法生成的伪随机数,不是真正的随机数,因为计算机是不能产生真正的随机数的。
random库是python的标准库,因此只要安装了python环境,基本就能使用random库,使用方法如下
import random
二 基本随机函数 【Python之random库的常用函数有哪些】random库中的随机数由两个基本随机函数产生,一个是seed()函数,一个是random()函数,如下
1. seed()
seed(a=None): 随机数种子函数,默认参数a等于当前系统时间。如果参数a值固定,则随之产生的随机数也会是同一个值。如下
import randomimport timerandom.seed(a=1)ran_num1 = random.random()ran_num3 = random.randint(1, 6)print("我是第一次随机结果:")print(ran_num1)print(ran_num3)time.sleep(3)print("我是第二次随机结果:")print(ran_num1)print(ran_num3)
文章图片
从结果可以看出,当参数a的值确定时,产生的就不是随机数了。
2. random()
random(): 生成一个[0.0, 1.0)之间的随机小数
a = 0while a < 10:num = random.random()a += 1print(num)
文章图片
三 扩展随机函数 由于基本随机函数不够用,所以又有了以下的扩展随机函数,如下。
1. randint()
randint(a, b): 生成一个[a, b]之间的随机整数
#randinta = 0while a < 5:num = random.randint(1, 5)a += 1print(num)
文章图片
2. uniform()
uniform(a, b): 生成一个[a, b]之间的随机小数
#uniforma = 0while a < 5:num = random.uniform(1, 7)a += 1print(num)
文章图片
3. randrange()
randrange(m,n[,k]): 生成一个[m,n)之间以k(默认为1)为步长的随机整数
#randrangea = 0while a < 5:num = random.randrange(1, 5)a += 1print(num)
文章图片
4. choice()
choice(seq): 从序列中随机选择一个数
#choicea = 0while a < 5:num = random.choice('abcd')a += 1print(num)
文章图片
5. shuffle()
shuffle(seq): 将列表元素顺序打乱,返回打乱后的列表
#shufflel = [1, 2, 3, 4]a = 0while a < 5:random.shuffle(l)a += 1print(l)
文章图片
6. sample()
sample(seq, n): 从指定的序列seq中,随机返回n个元素,以列表形式返回
#samples = 'abcdfg'a = 0while a < 5:num = random.sample(s, 1)a += 1print(num)
文章图片
四 实例(动态金额值) 要求:返回一个动态金额值,金额范围:
1.0~1的一位小数,两位小数;
2.不超过100的整数;
3.1~100的一位小数,两位小数;(测试金额字段,会不会自动补全两位小数)
实现;
#测试金额字段,会不会自动补全两位小数#实现金额字段动态值import randomdef get_random_amount():'''实现金额字段动态值:return: random_amount'''#小于1的一位小数,两位小数值amount1 = round(random.random(), 1)amount2 = round(random.random(), 2)#整数amount3 = random.randint(1, 100)#1~100的一位小数,两位小数值amount4 = round(random.uniform(1, 100), 1)amount5 = round(random.uniform(1, 100), 2)#从5个金额值中随机返回一个randomList = [amount1, amount2, amount3, amount4, amount5]random_amount = random.sample(randomList, 1)[0]print(randomList)return random_amount#函数调用random_amount = get_random_amount()print(random_amount)
测试结果如下
文章图片
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息