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

相关文章
|
7月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
456 2
|
7月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1355 1
|
7月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
383 0
|
7月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
350 0
|
算法 Python
Python编程的函数—内置函数
Python编程的函数—内置函数
332 1
|
算法 Python
Python编程实验四:函数的使用
Python编程实验四:函数的使用
|
存储 程序员 Shell
Python 进阶指南(编程轻松进阶):十、编写高效函数
Python 进阶指南(编程轻松进阶):十、编写高效函数
230 0
|
存储 Shell C++
零基础学会python编程——输入 / 输出函数与变量
零基础学会python编程——输入 / 输出函数与变量
641 0
|
算法 编译器 Python
Python编程基础:实验6——函数的递归
有关Python函数递归的一些题目,非常经典,开箱即用。
574 1
Python编程基础:实验6——函数的递归

推荐镜像

更多