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

相关文章
|
5天前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
20 2
|
1天前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
12 6
基于Python访问Hive的pytest测试代码实现
|
2天前
|
数据可视化 数据管理 测试技术
聊聊自动化测试框架
关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
12 4
聊聊自动化测试框架
|
2天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
16 3
快速上手|HTTP 接口功能自动化测试
|
5天前
|
数据采集 人工智能 程序员
避坑指南!细说Python自动化办公的5大缺点
Python如今变得愈发流行,不仅程序员,许多非专业人员也开始学习它,主要目的是提高工作效率而非成为专家。然而,Python自动化办公并非完美,存在一些缺点:首先,它仅支持Windows系统,这对Mac用户不太友好;其次,其功能虽强大但不够专业,大多功能一行代码即可完成;再者,代码包体积较大,约200MB;此外,技术门槛较低,难以形成职业优势;最后,相较于专业代码,它的启动速度较慢。即便如此,它依然比人工操作高效得多。如果能接受以上缺点,可参考《50讲·Python自动化办公》教程,快速掌握自动化办公技能。
46 29
|
4天前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
9天前
|
测试技术 API Python
python在自动化测试中的经典例子
python在自动化测试中的经典例子
23 12
|
4天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
13 2
|
9天前
|
运维 监控 安全
python在自动化运维中的妙用分享
python在自动化运维中的妙用分享
25 8
|
8天前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
25 4