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)

Python之random库的常用函数有哪些

从结果可以看出,当参数a的值确定时,产生的就不是随机数了。

2. random()

random(): 生成一个[0.0, 1.0)之间的随机小数

a = 0
while a < 10:
   num = random.random()
   a += 1
   print(num)

Python之random库的常用函数有哪些

三 扩展随机函数

由于基本随机函数不够用,所以又有了以下的扩展随机函数,如下。

1. randint()

randint(a, b): 生成一个[a, b]之间的随机整数

#randint
a = 0
while a < 5:
   num = random.randint(1, 5)
   a += 1
   print(num)

Python之random库的常用函数有哪些

2. uniform()

uniform(a, b): 生成一个[a, b]之间的随机小数

#uniform
a = 0
while a < 5:
   num = random.uniform(1, 7)
   a += 1
   print(num)

Python之random库的常用函数有哪些

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)

Python之random库的常用函数有哪些

4. choice()

choice(seq): 从序列中随机选择一个数

#choice
a = 0
while a < 5:
   num = random.choice('abcd')
   a += 1
   print(num)

Python之random库的常用函数有哪些

5. shuffle()

shuffle(seq): 将列表元素顺序打乱,返回打乱后的列表

#shuffle
l = [1, 2, 3, 4]
a = 0
while a < 5:
   random.shuffle(l)
   a += 1
   print(l)

Python之random库的常用函数有哪些

6. sample()

sample(seq, n): 从指定的序列seq中,随机返回n个元素,以列表形式返回

#sample
s = 'abcdfg'
a = 0
while a < 5:
   num = random.sample(s, 1)
   a += 1
   print(num)

Python之random库的常用函数有哪些

四 实例(动态金额值)

要求:返回一个动态金额值,金额范围:

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)

测试结果如下

Python之random库的常用函数有哪些

来源:https://blog.csdn.net/qq_44690947/article/details/122710186

标签:Python,random,库,函数
0
投稿

猜你喜欢

  • Vue 搭建Vuex环境详解

    2024-04-10 13:48:59
  • 避免重复写代码的小函数

    2008-09-21 13:41:00
  • 一文了解Hive是什么

    2023-09-27 09:28:47
  • vue2.0基于vue-cli+element-ui制作树形treeTable

    2024-05-09 10:50:53
  • PHP实现网页内容html标签补全和过滤的方法小结【2种方法】

    2023-09-06 22:28:26
  • php实现mysql事务处理的方法

    2023-11-10 10:42:39
  • 游戏开发进阶Unity网格(Mesh\\动态合批\\骨骼动画\\蒙皮)

    2022-03-18 11:20:26
  • 用画为5.12地震受灾同胞们祈福

    2008-05-20 12:08:00
  • python黑魔法之编码转换

    2022-08-11 10:03:41
  • Python模块学习 datetime介绍

    2023-08-15 16:01:18
  • ASP获取当前页面URL地址(带参数)的方法

    2010-01-14 19:40:00
  • PHP Laravel门面的实现原理详解

    2023-05-25 06:42:36
  • 浏览器中的内存泄露(续)解决方案

    2008-05-03 17:14:00
  • Python使用turtle库绘制小猪佩奇(实例代码)

    2021-09-21 08:45:30
  • Python基础入门之魔法方法与异常处理

    2021-07-01 07:29:39
  • 日文片假名导致 Access 搜索“内存溢出”

    2009-07-07 22:23:00
  • MySQL 外键约束和表关系相关总结

    2024-01-17 00:09:26
  • mysql生成指定位数的随机数及批量生成随机数的方法

    2024-01-16 18:22:22
  • Python中的三目(元)运算符详解

    2023-12-06 01:20:49
  • Python实现的爬取小说爬虫功能示例

    2022-07-14 20:36:16
  • asp之家 网络编程 m.aspxhome.com