在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
装饰器是什么?为什么要学习装饰器?装饰器用于拓展原来函数功能的一种函数,在不改变原函数名或类名的情况下给函数增加新的功能。给已有函数增加额外功能的函数,它本质上就是一个闭包函数,我们学习得主要目的是掌握装饰器的语法格式。
1、装饰器是什么?
给已有函数增加额外功能的函数,它本质上就是一个闭包函数。
装饰器的功能特点:不修改已有函数的源代码;不修改已有函数的调用方式;给已有函数增加额外的功能。
2、装饰器的示例代码

代码说明:闭包函数有且只有一个参数,必须是函数类型,这样定义的函数才是装饰器。
写代码要遵循开放封闭原则,它规定已经实现的功能代码不允许被修改,但可以被扩展。
执行结果:

3、装饰器语法糖写法
如果有多个函数都需要添加登录验证的功能,每次都需要编写func = check(func)这样代码对已有函数进行装饰,这种做法还是比较麻烦。Python给提供了一个装饰函数更加简单的写法,那就是语法糖,语法糖的书写格式是: @装饰器名字,通过语法糖的方式也可以完成对已有函数的装饰。
说明:@check 等价于 comment = check(comment)装饰器的执行时间是加载模块时立即执行。
执行结果:

4、装饰器总结
装饰器本质上就是一个闭包函数,可以对已有函数进行额外的功能扩展。装饰器的语法格式:

装饰器的语法糖用法: @装饰器名称,同样可以完成对已有函数的装饰操作。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
HTTP与HTTPS有什么区别和联系?
HTTP与HTTPS有什么区别和联系?简单来说,HTTPS就是HTTP的加强版,这样子是不是好理解多了?当然啦,仔细分析下来,HTTP与HTTPS的区别和联系不止于此,下面是详细分析。
8485
2019-07-30 15:57:58
零基础学Python的过程有多难?需要多久?
Python是一门简单高效,应用范围广泛的计算机语言。先我们要知道Python已经算是一门相对其他编程语言而言,最适合零基础新手学习的开发语言,换句话说,如果连Python都学不进去就不要考虑进入IT技术行业了。那么零基础学Python的过程有多难呢?下面我们一起来看看Python的学习内容和规划。
10085
2019-09-29 14:03:33
闭包的作用是什么?闭包如何使用?
闭包就是能够读取其他函数内部变量的函数,前面讲过闭包是在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。通过学习了解闭包的作用,知道具体的应该方法。
5684
2021-12-02 10:13:13
连接查询内连接的SQL语句怎么写?
连接查询内连接的SQL语句怎么写?内连接查询即所有查询出的结果都是能够在连接的表中有对应记录。在项目开发过程中有很多需求都是要涉及到多表的连接查询,因此作为程序员必须掌握连接查询内连接的SQL语句。
5958
2022-01-18 12:00:14
创建表并给某个字段添加数据的SQL语句怎么写
创建表并给某个字段添加数据的SQL语句怎么写?创建表并给字段插入数据我们会使用到create table .. select 语句,学习SQL需要能够写出创建表并给某个字段添加数据的SQL语句。
7049
2022-01-24 14:45:05
