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

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

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

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

装饰器的语法糖用法: @装饰器名称,同样可以完成对已有函数的装饰操作。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
python教程菜鸟教程学习路线
python教程菜鸟教程学习路线:需要学Python 环境搭建、Python 中文编码、Python 基础语法、Python 变量类型、Python 运算符、Python 条件语句、Python 循环语句、Python While 循环语句、Python for 循环语句、Python 循环嵌套、Python break 语句、Python continue 语句等内容。
8770
2019-06-26 10:15:05
Python学习网站有哪些?Python基础教程网站推荐
Python学习网站有哪些?Python基础教程网站推荐:菜鸟教程、PHP中文网、PHP中文网、W3C、Reddit、博学谷、python中文学习大本营、Python 3 Module of the Week、Welcome to Python for you and me、CheckiO is a code game coders。
6997
2019-09-23 19:06:02
Python调试常见异常汇总
在调试Python程序过程中,难免会遇到各种各样的异常情况。一般情况下,异常可能是因为开发者在编写程序的时候疏漏或者考虑不周全导致的。在开发过程中异常是不可避免的,当你遇到异常的时候回立刻反应他的问题所在吗?为了让大家更好的认识这些常见的异常,博学谷小编将Python调试过程中会产生的异常进行了整理。推荐大家收藏。
6466
2019-10-29 14:56:21
为什么要学Flask框架?应该如何学习Flask框架?
为什么要学Flask框架?相信大家都明白框架学习的必要性,而Flask框架自身出色的优势也是大家要学习的必要原因。那么我们应该如何学习Flask框架?下面来为大家详细讲一讲,内容包括创建Flask的框架,使用配置文件,使用url传递参数等等,大家要是需要学习Flask框架的基础知识,就接着看下去吧!
7476
2019-11-13 16:51:45
HTML基本结构包含几个部分?
完整HTML页面包括HTMLDOCTYPE声明、title标题、head、网页编码声明等内容。学习HTML需要能够写出html的基本结构并学以致用。
6736
2021-12-09 15:39:59
