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
⼆基本随机函数
random库中的随机数由两个基本随机函数产⽣,⼀个是seed()函数,⼀个是random()函数,如下
1. seed()
seed(a=None): 随机数种⼦函数,默认参数a等于当前系统时间。如果参数a值固定,则随之产⽣的随机数也会是同⼀个值。如下
import random
import time
random.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 = 0
while a < 10:
num = random.random()
a += 1
print(num)
三扩展随机函数
由于基本随机函数不够⽤,所以⼜有了以下的扩展随机函数,如下。
1. randint()
randint(a, b): ⽣成⼀个[a, b]之间的随机整数
#randint
a = 0
while a < 5:
num = random.randint(1, 5)
a += 1
print(num)
2. uniform()
uniform(a, b):⽣成⼀个[a, b]之间的随机⼩数
#uniform
a = 0
while a < 5:
num = random.uniform(1, 7)
a += 1
print(num)
3. randrange()
randrange(m,n[,k]): ⽣成⼀个[m,n)之间以k(默认为1)为步长的随机整数#randrange
a = 0
while a < 5:
num = random.randrange(1, 5)
a += 1
print(num)
4. choice()
choice(seq): 从序列中随机选择⼀个数
#choice
a = 0
while a < 5:
num = random.choice('abcd')
a += 1
print(num)
5. shuffle()
shuffle(seq): 将列表元素顺序打乱,返回打乱后的列表#shuffle
l = [1, 2, 3, 4]
a = 0
while a < 5:
random.shuffle(l)
a += 1
print(l)
6. sample()
sample(seq, n): 从指定的序列seq中,随机返回n个元素,以列表形式返回
#sample
s = 'abcdfg'
a = 0
while a < 5:
num = random.sample(s, 1)
a += 1
print(num)
四实例(动态⾦额值)
要求:返回⼀个动态⾦额值,⾦额范围:
1.0~1的⼀位⼩数,两位⼩数;
2.不超过100的整数;
3.1~100的⼀位⼩数,两位⼩数;(测试⾦额字段,会不会⾃动补全两位⼩数)实现;
#测试⾦额字段,会不会⾃动补全两位⼩数
#实现⾦额字段动态值
import random
def get_random_amount():
'''
实现⾦额字段动态值
:
return: random_amount
'''
#⼩于1的⼀位⼩数,两位⼩数值
amount1 = round(random.random(), 1)
amount2 = round(random.random(), 2)
#整数
amount3 = random.randint(1, 100)
#1~100的⼀位⼩数,两位⼩数值python生成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)
测试结果如下
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论