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

相关文章
|
5月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
578 113
|
5月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
438 0
|
5月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
623 0
|
5月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
396 3
|
5月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
622 3
|
5月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
426 3
|
5月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
560 0
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
290 1
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。

推荐镜像

更多