c++ 随机字符串_连载|想用Python做自动化测试?了解数值计算和随机数生成神器...
“ 本文掌握Python中的几种数值类型,以及算术运算、位运算、数值转换,再学习一个测试中常用来产生随机数的模块。”
构建测试知识体系,欢迎关注
Python支持的数值类型有整型int、布尔型bool、浮点型float、Decimal。
type(100) # <class 'int'>type(1.0) # <class 'float'>type(True) # <class 'bool'>type(False) # <class 'bool'>
这里要提一下,布尔型是只有两个值的整数。True对应1,False对应0。对于布尔型要从以下方面理解:
有两个值True和False
对于值为零的任何数字或者空集(空列表[]、空元组()、空集合{}、空字典{}),他们的布尔值都是False
01
—
算术运算
加法+
减法-
乘法*
除法/
取余%
幂运算**或pow
取商和余数divmod
四舍五入round
绝对值abs
>>> 5+27>>> 5-32>>> 5*210>>> 5/22.5>>> 5%21>>> 5**225>>> pow(5,2)25>>> divmod(5,2)(2, 1)>>> round(1.314, 2) # 保留两位小数,第三位四舍五入1.31>>> round(2.5) # 值刚好等于两个整数中间时,得到举例最近的偶数2>>> round(1.5) # 值刚好等于两个整数中间时,得到举例最近的偶数2>>> round(2.6)3>>> abs(-0.5)0.5
02
—
位运算
将数值转成二进制后,按位操作。
按位取反~
按位与&
按位或|
按位异或^
左移<<
右移>>
>>> 30 & 4512>>> 30 | 4563>>> 30 ^ 4551>>> ~30-31>>> 3<<212>>> 8>>2
03
—
数制转换
bin(),将十进制转换为二进制
oct(),将十进制转换为八进制
hex(),将十进制转换为十六进制
>>> bin(10) # '0b1010'>>> oct(9) # '0o11'>>> hex(15) # '0xf'
04
—
比较运算
大于>
小于<
等于==
大于等于>=
小于等于<=
不等于!=
>>> 5>3 # True>>> 5<3 # False>>> 5==3 # False>>> 5>=3 # True>>> 5!=3 # True>>> 5<=3 # False
05
—
decimal模块
普通的float型数据在运算时,是有误差的,python默认的是17位小数的精度,再长后面的数据就不准了。如果不能接受误差,可以使用decimal模块解决精确计算问题。
a = 3b = 1c = b/aprint(c) # 0.3333333333333333d = "%.30f" % (1/3)print(d) # 0.333333333333333314829616256247e = Decimal(1)/Decimal(3)print(e) # 0.3333333333333333333333333333 ,默认28位,可调
06
—
random模块
在测试工作中,构造随机数类型的测试数据时,经常用使用random这个模块。它能够产生随机整数、小数,还能随即从列表和元组或者字符串中提取随机元素。
import randomimport stringprint(random.randint(1, 10)) # 产生 1 到 10 的一个整数型随机数print(random.random()) # 产生 0 到 1 之间的随机浮点数print(random.uniform(1.1, 5.4)) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数print(random.choice('tomorrow')) # 从序列中随机选取一个元素print(random.choice(['剪刀', '石头', '布']))print(random.randrange(1, 100, 2)) # 生成从1到100的间隔为2的随机整数print(random.sample('zyxwvutsrqponmlkjihgfedcba', 5)) # 生成5个字符组成的列表print(''.join(random.sample(string.ascii_letters + string.digits, 8))) # 从a-zA-Z0-9生成指定数量的随机字符a = [1, 3, 5, 6, 7] random.shuffle(a) # 将序列a中的元素顺序打乱print(a)
说到随机数作为测试数据,Python中还有一个非常好用的产生随机数的第三方包Faker(https://pypi.org/project/Faker/)。安装方法是:
pip install Faker
它的功能特别强大,能够产生的随机数类型非常丰富,举几个例子:
from faker import Faker# Faker.seed(4321) # 随机数种子fake = Faker('zh_CN')print(fake.name())print(fake.address())print(fake.city())print(fake.postcode())print(fake.company())print(fake.email())print(fake.hostname())print(fake.ipv4())
从名字可以看出产生的随机数的类型。
如果想要每次生成的随机数是固定的。可以提供一个随机数种子,这样相同的方法,总会得到相同的随机结果。
c++ 随机字符串_连载|想用Python做自动化测试?了解数值计算和随机数生成神器...相关推荐
- python 递归函数_连载|想用Python做自动化测试?递归函数
" 递归函数就是函数内部调用自身,可以使代码逻辑更加易懂.但是递归也有坑,需要避免." 13.1 概念 在函数内部,可以调用其他函数.如果一个函数在内部调用自身,这个函数就是递归函 ...
- append函数_连载|想用Python做自动化测试?函数的参数传递机制及变量作用域
" 这一节有点难.看不懂没关系.继续往后学,回头再来看." 10.6 函数参数传递的机制 10.6.1 值传递与引用传递 编程语言的参数传递机制通常有两种: 值传递 拷贝参数的值, ...
- python decimal_连载|想用Python做自动化测试?了解数值计算和随机数生成神器
" 本文掌握Python中的几种数值类型,以及算术运算.位运算.数值转换,再学习一个测试中常用来产生随机数的模块." 构建测试知识体系,欢迎关注 Python支持的数值类型有整型i ...
- 想用Python做自动化测试?Python反射机制的应用
通常,我们操作对象的属性或者方法时,是通过点"."操作符进行的.例如下面的代码: class Person:type = "mammal"def __init_ ...
- 如何用 Python 做自动化测试
本文来自作者 Vant 在 GitChat 上分享 「如何用 Python 做自动化测试」 编辑 | 哈比 一.Selenium 环境部署 1. window 环境部署 1.1 当前环境 Win10 ...
- c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- 分割字符串_[话俾你知]Python使用正则处理字符串技巧(分割、替换)
当你遇见了一个问题需要使用正则来处理,这个时候你就有了两个问题. 我主业是做图像处理,自然语言处理接触不多,正则表达式的研究并不深入,本文只讲述一些小技巧,如果你对正则表达式比较感兴趣,可以去看看有本 ...
- python生活中哪些运用_【想把python运用在实际生活中?那么python查询价格方法可以帮助你】- 环球网校...
[摘要]通过本次课程可以让python学员了解一下python查询价格方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...
- python可以给你干什么-你最想用python做什么?python到底能用来做什么?
我们知道python的应用前景很广阔,似乎哪个领域他都可以涉足,但是python真的在哪里都得心应手吗?我们今天就来看看这个问题: 如果你想学Python,或者你刚开始学习Python,那么你可能会问 ...
最新文章
- Python:CrawlSpiders
- “智源论坛Live”报名 | 清华大学高天宇:实体关系抽取的现状和未来
- 迁移数据文件到ASM【转】
- Mac卸载mysql并安装mysql升级到8.0.13版本
- 【c++】24.std::function和std::bind详解
- Objective-C中@property的所有属性详解
- 日期时间选择器-jeDate日期控件
- [设计模式] ------ 对比总结:简单工厂模式、工厂方法模式、抽象工厂模式
- 这是可用于下一个项目的React Native工具列表
- java线程wait()使一个线程一直运行,一直提供服务
- idea报“Usage of API documented as @since 1.7”这一问题的解决方法
- 处理quartz 异常 Couldn‘t retrieve trigger: No record found for selection of Trigger with key:
- shell循环读文件 Linux脚本读文件
- struct (5.31)
- App山寨疯狂 爱加密Apk加密平台防破解
- liunx 操作系统的区别和之间的关系
- 苹果手机使用技巧汇总,手把手教你如何快速使用苹果手机
- Maven基础-认识Maven
- Aquaculture Equipment 水产养殖设备谷歌Google搜索量和海外市场竞争度分析
- 程序员的小幽默:让你笑到肚子痛的搞笑动图
热门文章
- 学会444句话 英语口语不用愁
- 【多传感器融合】激光雷达与相机前融合
- IPX:互联网分组交换协议--网络大典
- 数字孪生教学楼3d可视化系统功能介绍
- html无序列表项目符号移动,关于html:我需要一个没有任何项目符号的无序列表...
- 大数据用户画像实战之业务数据调研及ETL
- js将blob转换为文本
- java abc输出bca_面试题24(写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab c...
- 零打碎敲学Android(三)—俄罗斯,你为什么是方块的
- 第7期-通过潇湘书院爬取小说