- 作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于
新西兰奥克兰大学攻读IT硕士学位
。- 荣誉:
阿里云博客专家认证
、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。跨领域学习
,喜欢摄影、弹吉他、咏春拳。文章深入浅出、语言风趣
;爱吃必胜客社区创立者,旨在“发现美 欣赏美
- 🏆 学习系列专栏
。🏅 Python学习宝库
。🏅 网络安全学习宝库
文章目录
- 🌟 做什么
- 🌟 解释
🌟 做什么
import time# 定义一个装饰器函数,用来记录函数执行时间
def calculate_time(func):def wrapper(*args, **kwargs):start_time = time.time() # 记录函数开始执行的时间result = func(*args, **kwargs) # 执行被装饰的函数end_time = time.time() # 记录函数执行结束的时间print(f"函数 {func.__name__} 执行时间为: {end_time - start_time} 秒")return resultprint("nihao","hao",sep="wudi")return wrapper# 使用装饰器来装饰函数
@calculate_time
def some_function():# 模拟函数执行time.sleep(2)print("函数执行完成")# 调用被装饰后的函数
some_function()
🌟 解释
在这个例子中,calculate_time 是一个装饰器函数,它接受一个函数作为参数,并返回一个新的函数 wrapper。这个 wrapper 函数记录了被装饰函数执行的时间,并在函数执行完成后输出执行时间。@calculate_time 语法应用了这个装饰器到 some_function(),使得 some_function() 在执行时会自动调用 calculate_time 并记录执行时间。
当你运行这段代码时,它会输出类似于以下内容:
函数执行完成
这个例子展示了如何使用装饰器来扩展函数的功能,而不需要修改原始函数的定义。