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关键字定义的函数,同时呢,它的参数练习也是必不可少,如果想要这个函数做事灵活些,必然不能将参数写死(硬编码),需要灵活处理。

相关文章
|
1天前
|
数据可视化 数据管理 测试技术
聊聊自动化测试框架
关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
10 4
聊聊自动化测试框架
|
1天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
8 3
快速上手|HTTP 接口功能自动化测试
|
7天前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
25 4
|
8天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
10天前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
35 5
|
11天前
|
机器学习/深度学习 PyTorch 算法框架/工具
python这些库和框架哪个更好
【9月更文挑战第2天】python这些库和框架哪个更好
26 6
|
4月前
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
63 0
|
4月前
|
存储 程序员 Shell
Python 进阶指南(编程轻松进阶):十、编写高效函数
Python 进阶指南(编程轻松进阶):十、编写高效函数
61 0
|
4月前
|
存储 Shell C++
零基础学会python编程——输入 / 输出函数与变量
零基础学会python编程——输入 / 输出函数与变量
127 0
|
Python
Python编程中类的属性获取、设置、判断是否存在等,实战hasattr和getattr函数的应用案例!
Python编程中类的属性获取、设置、判断是否存在等,实战hasattr和getattr函数的应用案例!
165 0