Python之random库的常用函数有哪些
作者:搬砖,赞路费 发布时间:2022-10-04 03:01:13
前言
在进行接口测试时,有些接口字段在不需要测试的时候往往是被写死的,但是你不能保证它就不会出现问题,所以在平时测试的时候就需要覆盖各种情况,这时候就可以为此专门写一个函数或者类来实现字段动态值了。由于我们组的自动化脚本里面的金额字段是固定的,现在需要改成动态值,我用的是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的一位小数,两位小数值
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)
测试结果如下
来源:https://blog.csdn.net/qq_44690947/article/details/122710186
猜你喜欢
- 加密解密字符串的asp函数,如用于ASP链接地址栏参数的加密,看代码就明白。比如:show.asp?id=DB26538FA54C70E1E
- 在数据科学和机器学习中,我们通常会处理大量的数据,这些数据可能会超过计算机的内存限制,因此我们需要一种方法来读取大型数据文件。在 Pytho
- 用XMlhttp生成html页面,相关函数如下:<% ’定义xmlhttp function Get
- 下面发一个简单的在线调试服务端js代码的asp源码。并可以提示代码具体错误信息。<%@language="javascrip
- 本文实例为大家分享了python使用Matplotlib绘制分段函数的具体代码,供大家参考,具体内容如下环境Python3Mac OS代码#
- 这篇文章主要介绍了Python远程开发环境部署与调试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 为什么要页面静态化?1.动态文件执行过程:语法分析-编译-运行2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,
- 本文实例讲述了Django框架HttpResponse对象用法。分享给大家供大家参考,具体如下:1.HttpResponse可通过HttpR
- 元素的CSS样式,除了包括内联的(即通过style属性加上的)样式定义外,还有页面嵌入的css和外部引入的css两种方式。但在JS中通过el
- 前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升
- 前言本篇博客主要解决在使用pandas绘制图像并保存时,由于标签太长,导致坐标轴上的标签显示不全的问题。刚遇到问题时调整了一下图片大小,然鹅
- asp中怎么替换最后一个逗号为空字符串?举例 aaa,bbb,ccc,eee, 这个字符串怎么让最后一个逗号变没,其他的不变啊 ?问题补充:
- 两个文章,放在一块了。第二个比较强。====================================================
- Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件.FTP的工作流程及基
- 如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较
- 编写Python代码,大家都需要遵循PEP8,因此在pycharm中,如何设置每行最大长度限制,成为了一个小的知识盲点,在这里做一下记录,方
- 目的对字符串的每个字符进行处理,其实每个字符(Char)就是一个长度为1的字符串。方法1.使用内建函数list()>>>
- 兼容当前HTML/XHTML文档是否有DTD声明:以下为程序代码:var xtop = document.documentElement.s
- 1.在服务器环境中安装centosyum install python3X[X代表版本号]ubuntuapt-get install pyt
- 摘要:本文介绍了tensorflow的常用函数。1、tensorflow常用函数TensorFlow 将图形定义转换成分布式执行的操作, 以