Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制

简介: Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。

前言

话说在编程的世界中,流传着这样一句话:没有不能实现的功能,有就多加几个if…else,哈哈,这当然是作者杜撰的,实际编码中,嵌套复杂的if…else是不可取的,可读性差且容易出错。但是它作为编码中不可或缺的一部分,使用规则却不得不掌握。记得在某个论坛看过一篇文章,说是高手一般不用if…else?excuse me? 看完之后,整的咱都不会写代码了。

image.png

条件语句

从上图中可知if的语法规则;即条件只有两个结果:True、False;那么这多与咱们上篇中讲到的比较运算符、成员运算符、身份运算符、逻辑运算符等搭配使用。

比较运算符

注意:python中没有switch这样的开关条件语句,如果出现多个条件只能使用elif多增加条件语句块

n = 4
if n > 4:
    print("大于条件为True")
elif n < 4:
    print("小于条件为True")
else:
    print("都不在条件内为False")
AI 代码解读
成员运算符

这个使用频率很高;常搭配循环语句使用

li = ["a",3,"4"]

print(bool("s" in li)) # 输出:False

# 使用条件
if "a" in li:
    i=li.index("a")
    print("输出字符a在li中的索引位:{}".format(i))
else:
    print("字符a不在li中")
AI 代码解读
身份运算符

这个使用频率相对低些

  • 前面说了它要比较的是两个变量,切勿使用值与变量或值与值
>>> s = "a"
>>> print("a" is s)
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
>>> print("a" is "a")
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
AI 代码解读
  • 正确的用法
>>> a = "s"
>>> b = "s"
>>> print(a is b)
True

>>> if a is b:
...     print("说明结果为True")
...
说明结果为True
AI 代码解读
逻辑运算符

当一个条件不足以判断时,就需要借助and、or、not逻辑运算符来完成了,再回忆一下运算符的优先级,逻辑运算符是在比较运算符之后的。

>>> a = 4
>>> b = 4
>>> c = 5
>>> if a > b or a < c:
...     print("只要满足一个条件即为True")
... elif a == b and c > b:
...     print("需要同时满足and两边的条件则为True")
... else:
...     print("上面只是为了演示,本来条件都满足的,但是只会在第一个正确的时候输出,下面一个就不再执行了")
...
只要满足一个条件即为True
AI 代码解读
if嵌套

这个也比较常用,但不是很建议用,if条件的使用规则,将最易满足条件放在最前头,如使用or的时候,第一容易为True则放在or的左边,and则可以相反,最容易为False可以放在and的左边,根据逻辑运算符的特性,如果左边不满足条件,and右边的是不会执行的。


a = 4
b = 6
c = 7

if a > b and c > a:
    print("不会有结果输出,并且不会执行c>a")
elif a < c or c > a:
    print("or的左边为true,即已满足条件,则输出,并不会指向性c>a")

# 这个结论是怎么得出的?咱们可以在ide工具debug调试一下
AI 代码解读
  • 咱们稍微修改一下代码,可以修改abc变量的值来达到效果并输出在控制台
a = 4
b = 6
c = 7

if a < b and print("左边为True才会执行右边"):
    print("为了演示效果")
elif a < c or print("左边为False才会执行右边") or True:
    print("为了演示效果")
AI 代码解读
练习

在前面的语法基础中,没有讲的两个函数,就是python的交互;input和print,输入的是变量的值,输出的是值,但都是字符串

var1 = input("请任意输入一个值:")

print(type(var1)) # 输出:<class 'str'>

print(var1) # 输出输入的字符
AI 代码解读
  • 猜年龄,假设一个目标年龄a=18,输入一个值赋给c,然后进行条件判断

c=int(input("请请猜猜我的年龄:<只能输入数字>"))
# 为啥要在input外包一层int(),为的是将用户输入的数字字符转成int类型,是可以进行比较运算

a = 18

if c == a:
    print("恭喜你猜对了")
elif: c > a:
    print("不好意思,猜大了")
else:
    print("这回猜小了,请重猜")
AI 代码解读
目录
打赏
0
1
1
0
14
分享
相关文章
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
59 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
35 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
142 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
36 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
141 9
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
117 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
Python Web 框架 FastAPI
FastAPI 是一个现代的 Python Web 框架,专为快速构建 API 和在线应用而设计。它凭借速度、简单性和开发人员友好的特性迅速走红。FastAPI 支持自动文档生成、类型提示、数据验证、异步操作和依赖注入等功能,极大提升了开发效率并减少了错误。安装简单,使用 pip 安装 FastAPI 和 uvicorn 即可开始开发。其优点包括高性能、自动数据验证和身份验证支持,但也存在学习曲线和社区资源相对较少的缺点。
85 15
Python流行orm框架对比
Python中有多个流行的ORM框架,如SQLAlchemy、Django ORM、Peewee、Tortoise ORM、Pony ORM、SQLModel和GINO。每个框架各有特点,适用于不同的项目需求。SQLAlchemy功能强大且灵活,适合复杂项目;Django ORM与Django框架无缝集成,易用性强;Peewee轻量级且简单,适合小型项目;Tortoise ORM专为异步框架设计;Pony ORM查询语法直观;SQLModel结合Pydantic,适合FastAPI;GINO则适合异步环境开发。初学者推荐使用Django ORM或Peewee,因其易学易用。
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
81 7
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等