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

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

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

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

装饰器的语法糖用法: @装饰器名称,同样可以完成对已有函数的装饰操作。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
30岁零基础没学历学Python怎么样?30岁学习Python晚吗?
30岁零基础没学历学Python怎么样?30岁学习Python晚吗?任何时候开始都不晚。30岁开始学习Python听起来年纪有点大,大家认为编程上了年纪学习编程语言是一个劣势。想在三十岁的时候通过学习Python来谋求一份IT程序员工作,则需要有一个系统的计划。
7488
2020-03-20 14:24:22
Python数据科学家学习计划分几步?
Python数据科学家学习计划分几步?起步开始学习旅程之前,要清楚为什么使用Python?Python如何发挥作用?首先我们需要一份关于数据分析方面的Python学习路径,适合新手入门学习。已经学习了大部分的机器学习技术,需要关注一下深度学习。
6629
2020-03-26 16:37:36
循环语句是什么?起什么作用?
循环语句是什么?起什么作用?循环语句由循环体及循环的终止条件两部分组成。在不少实际问题中有很多有规律性的重复操作,在程序中就需要重复执行某些语句。编程语言中的循环语句包括三种,分别是for,while,do……while
7957
2021-12-28 17:01:04
连接查询内连接的SQL语句怎么写?
连接查询内连接的SQL语句怎么写?内连接查询即所有查询出的结果都是能够在连接的表中有对应记录。在项目开发过程中有很多需求都是要涉及到多表的连接查询,因此作为程序员必须掌握连接查询内连接的SQL语句。
6549
2022-01-18 12:00:14
mkdir和rm命令选项基础知识学习分享
mkdir和rm命令选项基础知识学习分享,创建嵌套文件夹使用“mkdir –p”嵌套目录;删除空目录使用“rmdir目录名”或者“rm–d目录名”;删除非空目录使用 “rm–r目录名”
5530
2022-03-02 16:22:47
