补课——高阶函数

补课——  高阶函数有感

首先,我们思考一下,我们调用函数是用来做什么的?调用函数对我们有什么帮助?这个答案不唯一,但有一点,我们笼统一点来说,调用函数就是为了帮助我们更好的解决问题。

函数是什么?函数本质上,也是一段代码,有着自己固定的格式、变量部分,函数通过相关的函数名将相关的代码组织在一起,对输入的数据进行处理处理,然后返回特定的输出(称为返回值),即:这个函数,我们使用时,通过其函数名调用,相当于一个标识符,端口,找到入口后,我们就只需把数据输入进去,它会自动执行,经过一番加工后,得到用户想要的结果,而这个结果会通过return语句返回到用户手中,这就是我所感悟的函数。它就相当于一个打铁铺,假如你想要打造一柄绝世好刀,这时,你就要先去找铁匠铺,然后把你的材料交给铁匠铺,让他给你打造成一柄好刀,铁匠铺打造好后,就会把打造后的材料——刀,交到你的手上。而高阶函数,虽然这个高阶函数重在高阶,但却是铁匠铺的原理为基础。

讲感悟之前,我们先来聊聊高阶函数的基本内容知识。

高阶函数,接收函数作为参数,或者将函数作为返回值的函数就是高阶函数。一般的,我们以前使用的函数,在涉及到传参的问题上,大多时候就是一个列表、变量以及字符串啥的,而高阶函数它就不一样了,不一样的地方在哪呢?它把函数作为了参数,并且可以直接返回一个函数作为返回值了,这就是高阶函数。

说到这里,我又想和大家一起说说我个人的感悟了。高阶函数,想得简单一点,就是一个函数做的事,不一样了,不一样了,它变得高大上了,那它怎样变化了呢?变化在,它接收的参数不是一个列表、变量等参数,这次它接受了一个函数作为参数,这就是最大的区别,形如这样的:def  hanshu(函数,n(这是一个变量)):语句体    你看括号里可以由一函数当作参数。这就有点类似外包了,比如,你学爬虫,学爬虫后可以去接包,而这个包,就是某某生产企业外放的,这个生产企业为了节约时间、或者其他原因,就把应该是他要去完成的任务,而转接到一些专门接包的人手上,接包的人,接收后,经过一番处理后,只做完后,就把成果交给放包的人或放包的生产企业单位,企业接收后,就直接使用成果。整个流程大概就是这样。而把函数作为返回值返回,这引用我前面的感悟,这就好比,你接包,做出的包,相当优秀,被企业单位看上了,就连同你和你的技术直接带走使用。

讲到了高阶就不得不提闭包。闭包是什么呢?我们称将函数作为返回值为闭包。闭包,闭包,封闭的包。如果包不是透明,你能看见里面的东西吗?答案是:肯定不能,除非你是透视眼。这就好比,一个空调,你使用遥控器打开后,它接受到指令后,它就开始工作,在炎炎夏季,丝丝凉气,就从其产生,只是你看到它的工作原理了吗?显然没有,你只知道,你出入电源,输出指令,它就开始工作了,这就是闭包的原理。让你看不见它内部结构。闭包形成条件:一、函数嵌套;二、将内部函数作为返回值返回;三、内部函数必须要使用到外部函数的变量(联想空调来记忆哦);

接下来,便是装饰器。

在了解高阶函数后,你使用它,很多时候都需要涉及到函数的修改,并且修改起来比较麻烦,这时使用装饰器就比较容易解决;还有就是,方便后期的维护;一般你直接修改函数中代码,这样做,会违反开闭原则(OCP)这时便需要考虑到装饰器的采用。

以上便是小编这节课学到的内容,不足之处,希望指出,谢谢!

————————————————
版权声明:本文为CSDN博主「LJ_1_9_1_9_2_4」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LJ_1_9_1_9_2_4/article/details/105811463

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值