设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【LSP】Python装饰器
返回列表
发帖
查看:
238
|
回复:
0
[其他技术]
【LSP】Python装饰器
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 17:03:59
|
显示全部楼层
|
阅读模式
1. 装饰器的定义
就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数。
装饰器的功能特点:
不修改已有函数的源代码
不修改已有函数的调用方式
给已有函数增加额外的功能
闭包和装饰器的区分:
如果闭包函数的参数有且只有一个,并且是函数类型,那么这个闭包函数称之为装饰器。
写代码要遵循开放封闭原则,它规定已经实现的功能代码不允许被修改,但可以被扩展。
2. 装饰器的示例代码
3. 装饰器的语法糖写法
如果有多个函数都需要添加登录验证的功能,每次都需要编写func = decorator(func)这样代码对已有函数进行装饰,这种做法还是比较麻烦。
Python给提供了一个装饰函数更加简单的写法,那就是语法糖,语法糖的书写格式是: @装饰器名字,通过语法糖的方式也可以完成对已有函数的装饰
4. 装饰器的执行时机
当 当前模块加载完成以后,装饰器会立即执行,对已有函数进行装饰。
运行结果:
5. 装饰器的使用
5.1 装饰器的使用场景
函数执行时间的统计
输出日志信息
5.2 装饰器实现已有函数执行时间的统计
函数
,
装饰
,
闭包
,
已有
,
功能
相关帖子
•
【Max】结绳第三课:窗口
•
【GD】【机器人】Medic基础词库
•
【Max】未央大大之SQ续更教程
•
【夜未央】C++ day02教程- 变量和函数的初步体验
•
【】Python进阶——15/19
•
【GD】fn模块和函数代码教程
•
【DMT】cc攻击脚本
•
【FUT】装X工具箱
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表