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的一位小数,两位小数值
    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)

测试结果如下

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 一篇文章带你了解python标准库--random模块

    目录 1. random库基本介绍 2. random库概述 2.1 基本随机函数 2.2 扩展随机函数 3. 随机数函数的使用 4. 实例 总结 1. random库基本介绍 Random库时使用随机数的python标准库 伪随机数:采用梅森旋转算法生成的(伪)随机序列中的元素 Random库主要用于生成随机数 使用random库:import random 2. random库概述 Random库包含两类函数,常用共8个 基本随机函数:seed() random() 扩展随机函数:randi

  • Python random库使用方法及异常处理方案

    1.random库的使用: random库是使用随机数的Python标准库 从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值,只不过这些条件我们没有理解,或者超出了我们的理解范围.计算机不能产生真正的随机数,那么伪随机数也就被称为随机数 --伪随机数:计算机中通过采用梅森旋转算法生成的(伪)随机序列元素 python中用于生成伪随机数的函数库是random 因为是标准库,使用时候只需要importrandom rand

  • python使用turtle库与random库绘制雪花

    本文实例为大家分享了python绘制雪花的具体代码,供大家参考,具体内容如下 代码非常容易理解,画着玩玩还是可以的.直接上代码 # -*- coding: utf-8 -*- """ Created on Fri Jan 12 14:35:14 2018 @author: Administrator """ from turtle import * from random import * def ground(): hideturtle() s

  • 详解python第三方库的安装、PyInstaller库、random库

    python第三方库的安装 PyInstaller库 PyInstaller库能够在不同操作系统下将python源文件打包,变成直接可运行的可执行文件. 可以通过-F参数对python源文件生成一个独立的可执行文件. PyInstaller -F SnowView.py 执行后在dist目录中出现了SnowView.exe可执行文件. random库 使用random库来生成随机数 最基本 random.random() 生成一个0~1之间的随机小数 from random import * p

  • Python 中random 库的详细使用

    Random库主要包含返回随机数的函数,主要用于普通的随机数生成的程序,如果对随机性有特殊要求,比如加密等,可以用函数os.urandom()或者random模块内部的SystemRandom类,这些可以让数据接近真正的随机性. 前言 为啥突然写这个?因为用到就写呗,感觉对生成数据很有用,之前都是百度别人的,今天来对着官方文档写,超级标准! 这边只讲常用的,看了下文档还有什么数学方法,太高级好像用不上 返回整数 random.randrange语法格式 两种写法 random.randrange

  • Python随机函数库random的使用方法详解

    前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为广泛,除了生成比较简单的随机数外,还有很多功能.使用random库: import random random库主要函数: 函数名 说明 用法 random() 生成一个0~1之间的随机浮点数,范围 0 <= n < 1.0 random.random() uniform(a,b) 返回a, b之间的随机浮点数,范围[a, b]或[a, b),

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

    目录 前言 一 random库介绍 二 基本随机函数 三 扩展随机函数 1. randint() 2. uniform() 3. randrange() 4. choice() 5. shuffle() 6. sample() 四 实例(动态金额值) 总结 前言 在进行接口测试时,有些接口字段在不需要测试的时候往往是被写死的,但是你不能保证它就不会出现问题,所以在平时测试的时候就需要覆盖各种情况,这时候就可以为此专门写一个函数或者类来实现字段动态值了.由于我们组的自动化脚本里面的金额字段是固定的

  • Python利用PyExecJS库执行JS函数的案例分析

      在Web渗透流程的暴力登录场景和爬虫抓取场景中,经常会遇到一些登录表单用DES之类的加密方式来加密参数,也就是说,你不搞定这些前端加密,你的编写的脚本是不可能Login成功的.针对这个问题,现在有三种解决方式: ①看懂前端的加密流程,然后用脚本编写这些方法(或者找开源的源码),模拟这个加密的流程.缺点是:不懂JS的话,看懂的成本就比较高了: ②selenium + Chrome Headless.缺点是:因为是模拟点击,所以效率相对①.③低一些: ③使用语言调用JS引擎来执行JS函数.缺点是

  • python数据分析Numpy库的常用操作

    numpy库的引入: import numpy as np 1.numpy对象基础属性的查询 lst = [[1, 2, 3], [4, 5, 6]] def numpy_type(): print(type(lst)) data = np.array(lst, dtype=np.float64) # array将数组转为numpy的数组 # bool,int,int8,int16,int32,int64,int128,uint8,uint32, # uint64,uint128,float16

  • Python字符串和文件操作常用函数分析

    本文实例分析了Python字符串和文件操作常用函数.分享给大家供大家参考.具体如下: # -*- coding: UTF-8 -*- ''' Created on 2010-12-27 @author: sumory ''' import itertools def a_containsAnyOf_b(seq,aset): '''判断seq中是否含有aset里的一个或者多个项 seq可以是字符串或者列表 aset应该是字符串或者列表''' for item in itertools.ifilte

  • Python中字典及遍历常用函数的使用详解

    目录 字典中元素的个数计算 字典中的键名 加粗样式字典中的键值 字典的键名以及对应的键值 字典的遍历 方法一 方法二 字典中元素的个数计算 len(字典名) 举例: person={"姓名":"张三","年龄":20,"性别":"男"} print(len(person)) 输出: 3 字典中的键名 字典名.keys() 举例: person={"姓名":"张三",&

  • python六种基本数据类型及常用函数展示

    目录 number(数字) Number类型常用的函数 随机数 import random string(字符串) 字符串常用的函数 list (列表) 列表的常用函数 set(集合) tuple (元组) dictionary(字典) 字典常用函数 总结 number(数字) int(整型), float(浮点型), bool, complex(复数类型) 四种基本类型,用于存储数值 类型转换:int(),float()- 内置函数 type(), 用以查询变量的类型 数学运算 :+.-.*

  • Python基础之字符串操作常用函数集合

    Python字符串常用功能汇总 1.字符串的定义 #定义空字符串>>> name=''#定义非空字符串 >>> name="luoahong"#通过下标访问 >>> name[1] 'u'#不能修改字符串的值,否则会报错 >>> name[2] = "3" Traceback (most recent call last): File "<stdin>", lin

  • Golang的os标准库中常用函数的整理介绍

    os.Rename()这个函数的原型是func Rename(oldname, newname string) error,输入的是旧文件名,新文件名,然后返回一个error其实这个函数的真正实现用的syscall.Rename()然后通过MoveFile(from *uint16, to *uint16) (err error) = MoveFileW来重新命名 复制代码 代码如下: import (  "fmt"  "os" ) func main() {  e

  • 举例详解Go语言中os库的常用函数用法

    (f *File).Name()这个函数是返回文件的名称,函数原型func (f *File) Name() string要文件的指针操作,返回字符串,感觉比较鸡助的方法底层实现 复制代码 代码如下: func (f *File) Name() string { return f.name }  import (  "fmt"  "os" ) func main() {  f, _ := os.Open("1.go")  fmt.Println(

随机推荐