Python接口自动化测试框架(基础篇)-- 有点意思的运算符

简介: 这篇文章介绍了Python中的各种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、位运算符和身份运算符,并讨论了运算符的优先级,以及序列类型的相关知识。

前言

运算符,顾名思义,是一定会有一个结果出来,不然算什么?只不过这个结果,不一定是咱们熟知的int,有可能是bool,都有可能需要联合运算才会有结果。那么在python语言编程中,有哪些运算符呢?

image.png

算术运算符

算术,咱们熟知的加减乘除算吧,再高级点就是%取模、//取整除、**幂;它们不一定只能引用在int类型上,例如+、*可以用在可迭代对象<序列类型>,如:str、list、tuple都可以

  • int类型的加减乘除法就不再代码演示了
# + * 可以在序列类型上运行
print("*" * 3) # 输出:***

print("a" + "b") # 输出:"ab"
  • 演示一下取模<取除法的余数>,使用场景:在咱们后台进行分库分表的时候有用过
print(2 % 2) # 输出:0
print(1 % 2) # 输出:1

比较运算符

比较运算,是大于、小于之类的,它们返回的结果却是bool类型,即True非False

print(1 > 3) # 输出:False
  • 等于这类比较运算,是==等等于,比较的是两个变量的值

  • 常常与逻辑运算符组合使用,如:1>2 or 2>3

赋值运算符

这个应该算是学编程最早使用到的运算符,即变量赋值:a=1

  • +=这个赋值运算符,分析一下,左边是+算术运算符,右边是=赋值运算符,优先级当然是算术运算符,那么a=3;a+=1,解读一下就是a先+1再=赋值给a
a = 1
b = 2
c = a + b
c += a

print(c) # 输出:4

逻辑运算符

它有三个关键词:and、or、not,中文翻译就是逻辑与、逻辑或、逻辑非

a = 1
b = 2

# 两头为True则为True,否则一方为False则为False
print(bool(a and b)) # 输出:True

c = 0

# 任意一头为True则为True,两头为False才为False
print(bool(a or c)) # 输出:True

# python中0为False,not取反,False取反则为True
print(bool(c)) # 输出:True

成员运算符

成员运算,只分在和不在,in在则为True,not in不在则为False;常用于序列类型(dict也算)

a = "sdsdfsd"

# 存在则为True,如果明知存在,再加not表示取反
print(bool("s" in a)) # 输出:True
print(bool("s" not in a)) # 输出:False

# 如果明知不存在not in则为True
print(bool("ss" not in a)) # 输出:True

位运算符

这个比较特别,大多是在算法中用到的评率较多,在自动化测试的时候,可能就不常见

身份运算符

它也只有两个可选项,is 和 is not;比较的是变量的引用对象

>>> a = 10
>>> b = 10
>>> print(bool(10 is a))
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
>>> print(bool(b is a))
True
>>> print(bool(b is not a))
False
>>> a=11
>>> print(bool(b is not a))
True
  • 如果拿值和变量使用is去判断,则会有语法警告
运算符的优先级

算术运算符> 位运算符> 比较运算符> 等于运算符> 赋值运算符> 身份运算符> 成员运算符> 逻辑运算符

扩展一下:序列类型

image.png

相关文章
|
8月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
776 113
|
8月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
604 0
|
8月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
651 1
|
8月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
713 0
|
8月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
394 0
|
8月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
418 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
8月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
870 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
8月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!

热门文章

最新文章

推荐镜像

更多