Python | 高阶函数基本应用及Decorator装饰器

高阶函数

▲ 理解什么是高阶函数?以及高阶函数的基本应用方法

高阶函数

在了解什么是高阶函数之前,我们来看几个小例子。我们都知道在 python 中一切皆对象,函数也不例外。比如求绝对值函数 abs,我们可以用一个变量 f 指向 abs 函数,那么当调用 f() 的时候可以得到和 abs() 一样的效果,这说明变量可以指向函数!

高阶函数:能接收函数做参数的函数。

a.变量可以指向函数

b.函数的参数可以接收变量

c.一个函数可以接收另-一个函数作为参数

示例

复制代码
(chO7 -demo09-advfunc.py) : 接收abs函数

左右拉动查看完整指令

●定义一个函数,接收x, y , f三个参数

●其中x,y是数值,f是函数

示例

复制代码
ch08-demo10-equation.py

左右拉动查看完整指令

利用高阶函数实现线型代数一元二次方程求解函数

在线型代数中,经典的一元二次方程求解:ax平方+bx+c=0 (满足条件:a≠0并且b平方 - 4ac >0,否则无解)

装饰器Decorator

▲ 装饰器的应用技巧及应用场景

装饰器

装饰模式有很多经典的使用场景,例如插入日志、性能测试、事务处理等等。

有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。

下面就一步步看看Python中的装饰器。

补充示例:一个简单的需求

复制代码
ch07-demo11-decorator-performance.py

左右拉动查看完整指令

装饰器绑定指定的自定义函数

常规调用方式


今天的内容就学习到这里了,每个工作日小编都会更新一个有关测试的小知识,希望大家多多关注我们,一起来学习喔!

相关推荐
liang_jy29 分钟前
Activity 启动流程扩展篇(一)—— startActivityInner 任务决策全解析
android·源码
2401_8323655232 分钟前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Sirius.z34 分钟前
第J3周:DenseNet121算法详解
python
Bat U35 分钟前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰1 小时前
C++ 排列组合完整指南
开发语言·c++·算法
2301_779622411 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_766283441 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱1 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
NPE~2 小时前
[App逆向]脱壳实战
android·教程·逆向·android逆向·逆向分析