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")
成员运算符

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

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中")
身份运算符

这个使用频率相对低些

  • 前面说了它要比较的是两个变量,切勿使用值与变量或值与值
>>> 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
  • 正确的用法
>>> a = "s"
>>> b = "s"
>>> print(a is b)
True

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

当一个条件不足以判断时,就需要借助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
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调试一下
  • 咱们稍微修改一下代码,可以修改abc变量的值来达到效果并输出在控制台
a = 4
b = 6
c = 7

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

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

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

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

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

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

a = 18

if c == a:
    print("恭喜你猜对了")
elif: c > a:
    print("不好意思,猜大了")
else:
    print("这回猜小了,请重猜")
相关文章
|
8天前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
1月前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
47 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
17天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
27 0
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
170 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
2月前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
143 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
2月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
133 15
|
5月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
128 4
|
5月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
113 4
|
12天前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
64 0
|
2月前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
139 11

热门文章

最新文章