每天学一点——装饰器
2022/1/11 6:03:31
本文主要是介绍每天学一点——装饰器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
装饰器
今日内容概要
- 装饰器的概念
- 装饰器的简易版本
-
装饰器的进阶版本
-
装饰器的练习题(认证功能)
-
装饰器的固定模板
-
装饰器的语法糖(简化代码)
-
有参装饰器(最复杂)
今日内容详细
装饰器的概念
装饰器不是一个新的概念,而是空间名称,闭包函数等等的组合就是装饰器
装饰:给函数增加额外的功能
器:就是工具
装饰器的核心思想:在不改变原有函数的代码情况和原有调用方式的基础上增加额外的功能
def index():
pass
index()
'''给index函数统计执行时间'''
储备知识:
time模块
import time # 模块
1.时间戳,他是执行的这一刻距离1970-1-1的秒数
print(tine.time.())
2.原地等待三秒
def index():
time.sleep(3)
print('from index')
# 1. 在函数执行之前打印一个时间节点
start_time = time.time()
index()
# 2. 等待函数执行完毕之后,在打印一个时间节点
end_time = time.time()
# 3. 总的执行时间就是两个的差值
print(end_time - start_time)
装饰器的简易模板
例:统计函数的执行时间
一定要记住装饰器的核心思想:在不改变原函数的代码情况和原因调用方式的基础上,增加额外的功能。
装饰器的进阶版本(解救函数的传参问题)
装饰器练习题(认证功能)
调用index函数之前,需要输入用户名和密码,并且用户名和密码必须正确
装饰器的固定模板
def outer(func):
def inner():
print('函数执行之前要执行的代码')
res = func()
print('函数执行之后要执行的代码')
return res
return inner
装饰器的语法糖
装饰器语法糖的执行流程:
把语法糖下面紧贴着的函数名当成参数传递给装饰器函数参数
这篇关于每天学一点——装饰器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-09百万架构师第十二课:源码分析:Spring 源码分析:Spring系统概述及IOC实现原理|JavaGuide
- 2025-01-08如何用关键链方法突破项目管理瓶颈?
- 2025-01-08电商人必看!6 款提升团队协作与客户满意度软件!
- 2025-01-08电商团队管理混乱?快用这 6 款软件优化协作流程!
- 2025-01-08短剧制作效率低?试试这5款任务管理工具
- 2025-01-08高效应对电商高峰,6 款团队协作软件大揭秘!
- 2025-01-08为什么外贸人都爱上了在线协作工具?
- 2025-01-08提升工作效率,从这些任务管理工具开始
- 2025-01-08新年电商订单暴增,必备的 6 款可视化协作办公软件有哪些?
- 2025-01-08短剧制作经理必备技能与工具全解析