Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while

简介: 本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。

前言

很开心,python学到循环语句了,也越来越好玩了,学到这儿,基本上也能处理一些流水线的工作了,只是稍欠装饰显得不那么灵活、复用性不高。

image.png

循环语句

python中循环语句有for和while;如上图所示,循环基本都需要做点什么,因为不是需要所有数据,也会带上if条件控制一下输出。

while循环

一般句式

# 作为条件,为True才执行里面的代码块,为false则退出循环
while (condition): 
    print("执行语句")

提示一下:python中没有do…while循环

  • 似乎python大多数使用者,没有使用while…else这样的条件
while False:
    print("不会被执行")
else:
    print("当while条件为False时才执行")
  • 示例:求1-100之间的和, 就使用while循环来完成
dig=100

sum=0
count=1
while count <=dig:
    sum+=count
    count+=1

print("1到{}之间的和为:{}".format(dig,sum))
# 输出结果:1到100之间的和为:5050
  • 代码浅析:

    • count作为while循环的计数器,它不能超过目标值dig;否则退出循环,而sum+=count,每次都会sum+count之后重新赋给sum
  • 当然这是咱们学习之后的成果,那怎么确定结果是正确的呢?

    • 两个办法,自己拿笔算一算,开什么玩笑;当然是找规律啦,除去100和50,首尾相加得100的数有49对,如:1+99、2+98、3+97,以此类推,直到49+51,也就是按顺序会有49对首尾相加得100,再加上100+50,可不就是5050
    • 第二个方法自然是用程序来验证,python提供了sum()、range()函数,这里需要批评一下了,在上面的例子中使用了sum=0,也就是它会覆盖了原来的sum()函数,所以在当前代码块中不能使用sum()函数来求和。
# sum()函数接的参数必须是可迭代类型,str除外
s=sum(range(1,101))

print(s) # 输出:5050

# 后面在内置函数再介绍range函数
  • while True: 这个循环有一个特殊场景,就是在客户端需要实时请求,无限循环则非常有用。
for循环

这是个有点特殊的循环,因为它是for…in的组合,in是啥?咱们的成员运算符啊,其实for就是while,只不过condition换成了x in xxx:而已,所以它不能是for True却能x in xxx;思考一下:while 能不能搭配 x in xxx呢?

  • for循环遍历list或者字符串等序列类型
a="1234567"

for i in a:
    print(i)
# 输出:
1
2
3
4
5
6
7
  • for循环经常跟range()函数混在一起;range()函数是一个左闭右开的条件函数
for i in range(5):
    print(i)

# 输出:
0
2
3
4
range()函数
  • range()函数默认从0开始,可以指定区间:range(1,5)
for i in range(1,5):
    print(i)

# 输出:
1
2
3
4
  • 再回忆之前说的str、tuple、list类型对于切片取值的的公式:(nⓂ️k),只不过在range中需要变成逗号:range(n,m,k),m>n,k为步长
# 奇数
for i in range(1,10,2):
    print(i)

# 输出:
1
3
5
7
9
continue和break

字面意思,一个是continue继续循环,一个break是中断循环

  • 前面举例说while True: 是个无限循环,如果配以if条件控制,当满足条件时break跳出循环
# cmd进入python交互命令模式

>>> count=1
>>> while True:
...     print(count)
...     if count==4:
...         print(count)
...         break
...     count+=1
...
1
2
3
4
4
  • 上面的例子如果换成continue,那么就无限循环,它还没中止,自己就终止了。
  • 注意1:所有从for或while跳出的循环都不会再执行后面的else;
  • 注意2:continue和break的位置如果在某块代码前,那么它后面的代码不会被执行。

i = 1
while i < 10:
    if i == 3:
        continue  
        # 不会执行后面的i+=1,i永远是3,然后就在这里无限循环
        print("执行不到")
    i+=1
  • 所以要想 它继续,就在continue之前加入条件:i+=1
# cmd输入python进入交互模式:

>>> i = 1
>>> while i < 10:
...     print(i)
...     if i == 3:
...         i += 1
...         continue
...         print("执行不到的语句")
...     print("当i==3,这句不执行,{}".format(i))
...     i += 1
...
1
当i==3,这句不执行,1
2
当i==3,这句不执行,2
3
4
当i==3,这句不执行,4
5
当i==3,这句不执行,5
6
当i==3,这句不执行,6
7
当i==3,这句不执行,7
8
当i==3,这句不执行,8
9
当i==3,这句不执行,9

# 是不是漏掉了i==3的那句不执行!!!
  • break关键字也来一个例子:
# cmd输入python进入交互模式

>>> i = 1
>>> while i < 10:
...     print(i)
...     if i == 3:
...         i += 1
...         break
...         print("执行不到的语句")
...     i += 1
...     print("只会执行到i==3")
... else:
...     print("从上面循环中跳出,不会执行这里的代码块")
...
1
只会执行到i==3
2
只会执行到i==3
3
pass关键字

它是空语句,什么也不干,就是占位;保持结构的完整性。


if i in range(4):
    pass

# 执行什么也不会,但是它会遍历完
思考一下:while 能不能搭配 x in xxx呢?
相关文章
|
2月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
2月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
378 0
|
3月前
|
传感器 人工智能 监控
通义灵码智能体模式在企业级开发中的应用:以云效DevOps自动化流程为例
通义灵码智能体模式具备语义理解、任务闭环与环境感知能力,结合云效DevOps实现CI/CD异常修复、测试覆盖与配置合规检查,大幅提升研发效率与质量。
136 0
|
2月前
|
人工智能 前端开发 测试技术
如何让AI帮你做前端自动化测试?我们这样落地了
本文介绍了一个基于AI的UI自动化测试框架在专有云质量保障中的工程化实践。
1001 20
如何让AI帮你做前端自动化测试?我们这样落地了
|
2月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
528 3
推荐一款Python开源的AI自动化工具:Browser Use
|
3月前
|
人工智能 JSON 自然语言处理
Function AI 工作流发布:以 AI 重塑企业流程自动化
本文介绍了基于函数计算 FC 打造的全新 Function AI 工作流服务,该服务结合 AI 技术与流程自动化,实现从传统流程自动化到智能流程自动化的跨越。文章通过内容营销素材生成、内容安全审核和泛企业 VOC 挖掘三个具体场景,展示了 Function AI 工作流的设计、配置及调试过程,并对比了其与传统流程的优势。Function AI 工作流具备可视化、智能性和可扩展性,成为企业智能化转型的重要基础设施,助力企业提升效率、降低成本并增强敏捷响应能力。
514 28
|
2月前
|
人工智能 JSON 自然语言处理
Function AI 工作流发布:以 AI 重塑企业流程自动化
AI工作流正重塑企业自动化流程。Function AI工作流基于函数计算FC,融合LLM、Agent等技术,实现智能任务处理与自我优化,助力企业迈向智能流程自动化,提升效率,增强响应能力。
|
3月前
|
人工智能 搜索推荐 测试技术
通义灵码 Agent+MCP:打造自动化菜品推荐平台,从需求到部署实现全流程创新
通过通义灵码编程智能体模式和 MCP 的集成,开发者可以高效构建在线菜品推荐网站。智能体模式大幅提升了开发效率,MCP 服务则为功能扩展提供了无限可能。
|
2月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题
|
2月前
|
安全 数据库 数据安全/隐私保护
Python办公自动化实战:手把手教你打造智能邮件发送工具
本文介绍如何使用Python的smtplib和email库构建智能邮件系统,支持图文混排、多附件及多收件人邮件自动发送。通过实战案例与代码详解,帮助读者快速实现办公场景中的邮件自动化需求。
197 0

推荐镜像

更多