Python接口自动化测试框架(练习篇)-- 函数编程(二)

简介: 本文通过具体的编程练习,深入探讨了Python中的函数编程,包括如何定义函数、使用参数和返回值,以及函数式编程的技巧和应用,如使用lambda表达式和递归函数解决实际问题。

前言

面向过程编程这个概念呢,可能比较抽象,也没有特别好的例子能够通俗易懂的呈现出来,只能够知道将要操作的具体步骤(功能)定义成函数,然后哪些流程需要哪些步骤直接调用就可以了;这样就算完成了面向过程编程;然而其本质就是函数编程。

面向过程

面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。

—摘自百度百科

练习

既然是函数编程,那么就练习练习将一些过程定义成函数或者练习一下函数如何使用

写一个函数用来比较两个数是否相等,返回True或者False

这练习函数和参数,还有return关键字

def compare_big(a,b):
    if a == b:
        return True
    else:
        return False
  • 技巧一:在python编程中,没有三目运算,但是可以有这种表达方式:

def compare_big(a,b):
    return True if a == b else False
  • 技巧二:还记得之前的lambda匿名函数吗,所以还可以这样写:
x=lambda a,b:True if a == b else False
  • 小结:是不是比最开始的时候,代码更简洁,这也就是python的魅力所在。
兔子产仔

一对兔子在两个月以后才有繁殖能力,一对兔子每个月生出一对兔子,假如所有兔子都不死,那么经过N个月以后总共有多少兔子?

第1个月--1对兔子
第2个月--1对兔子
第3个月--2对兔子:兔子开始生兔子了
第4个月--3对兔子:每个月,已有繁殖能力的兔子继续生兔子
第5个月--5对兔子:两个月前的小兔子,开始繁殖了
第6个月--8对兔子:每两个月的小兔子,开始繁殖了
第7个月--13对兔子:每个月的兔子,是前两个月的兔子总和,
规律就出来了:边界值是第1、2个月,兔子总和=当月的兔子减去前1个月的加上当月减去前2月的兔子
分析

这样数字的游戏,分析方法呢,就是通过计算看看前面数字的规律,那么结果可以得到:1、1、2、3、5、8、13…中间差就是从第三个月开始,是前两个月兔子的数量之和;这就涉及到一个函数递归的概念,这题就是斐波那契数列。

def rabbit(num):
    if num==1 or num==2:
        return 1
    else:
        return rabbit(num-1)+rabbit(num-2)
  • 递归函数必须是调用函数本身,且有一个条件能够中止避免死循环。

总结

函数编程练习的重点是函数,但是在封装类之前,它只有一个名字,就是由def关键字定义的函数,同时呢,它的参数练习也是必不可少,如果想要这个函数做事灵活些,必然不能将参数写死(硬编码),需要灵活处理。

相关文章
|
9月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
828 113
|
10月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
11月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
11月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
560 0
|
9月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
453 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
9月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
1046 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
10月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
807 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
10月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
524 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
10月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
593 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架

热门文章

最新文章

推荐镜像

更多