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("这回猜小了,请重猜")
相关文章
|
13天前
|
C语言 Python
python 调用c接口
【10月更文挑战第12天】 ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数
37 0
|
8天前
|
数据安全/隐私保护 Python
python之自动化进入CSDN
python之自动化进入CSDN
14 0
|
10天前
|
人工智能 安全 决策智能
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
|
2天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
5天前
|
Web App开发 敏捷开发 存储
自动化测试框架的设计与实现
【10月更文挑战第20天】在软件开发的快节奏时代,自动化测试成为确保产品质量和提升开发效率的关键工具。本文将介绍如何设计并实现一个高效的自动化测试框架,涵盖从需求分析到框架搭建、脚本编写直至维护优化的全过程。通过实例演示,我们将探索如何利用该框架简化测试流程,提高测试覆盖率和准确性。无论你是测试新手还是资深开发者,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
2天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
10 1
|
4天前
|
数据采集 机器学习/深度学习 搜索推荐
Python自动化:关键词密度分析与搜索引擎优化
Python自动化:关键词密度分析与搜索引擎优化
|
11天前
|
人工智能 IDE 测试技术
使用通义灵码提升Python开发效率:从熟悉代码到实现需求的全流程体验
作为一名Python开发者,我最近开始使用通义灵码作为开发辅助工具。它显著提高了我的工作效率,特别是在理解和修改复杂代码逻辑方面。通过AI编码助手,我能够在短时间内快速上手新项目,实现新需求,并进行代码优化,整体效率提升了60%以上。通义灵码不仅加快了代码生成速度,还增强了代码的健壮性和稳定性。
|
17天前
|
运维 监控 网络安全
自动化运维的魔法:如何用Python简化日常任务
【10月更文挑战第9天】在数字时代的浪潮中,运维人员面临着日益增长的挑战。本文将揭示如何通过Python脚本实现自动化运维,从而提高效率、减少错误,并让运维工作变得更具创造性。我们将探索一些实用的代码示例,这些示例将展示如何自动化处理文件、监控系统性能以及管理服务器配置等常见运维任务。准备好让你的运维工作升级换代了吗?让我们开始吧!
|
16天前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
138 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)

热门文章

最新文章