Python 装饰器实战指南:从入门到精通的 10 个实用技巧

Python 装饰器实战指南

一、什么是装饰器

装饰器是 Python 中强大的工具,允许在不修改原函数代码的情况下添加新功能。

二、基础示例

def my_decorator(func):

def wrapper():

print("执行前")

func()

print("执行后")

return wrapper

@my_decorator

def say_hello():

print("Hello!")

三、计时装饰器

import time

from functools import wraps

def timer(func):

@wraps(func)

def wrapper(*args, **kwargs):

start = time.time()

result = func(*args, **kwargs)

end = time.time()

print(f"执行时间:{end-start:.4f}秒")

return result

return wrapper

四、缓存装饰器

from functools import lru_cache

@lru_cache(maxsize=128)

def fibonacci(n):

if n < 2:

return n

return fibonacci(n-1) + fibonacci(n-2)

五、总结

装饰器让代码更简洁可维护,建议使用@wraps 保留元信息。

相关推荐
XiaoMaqqqq21 分钟前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
ShyanZh1 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp
惊讶的猫2 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python
天赐范式2 小时前
天赐范式第186天:让方差开始自洽——Bulmer效应的闭式验证
python·数字生命·天赐范式·动态运行时·遗传方差·bulmer效应
泡茶喝茶写代码2 小时前
A股量化数据工程:从 REST 接口到策略信号(第 8 篇):成长能力因子:营收与利润增速
java·python·股票数据api·股票数据api接口·股票量化数据api·股票量化数据接口·股票数据api数据
Είναι η κοπέλα3 小时前
显存计算与模型选择:你的显卡能跑多大的模型
人工智能·pytorch·python·开源·conda
ROSF68683 小时前
2026 仿石漆乳液供应商:市场布局与行业发展态势梳理
大数据·人工智能·python
青少儿编程课堂3 小时前
AC自动机多模式串匹配精讲:校园关键词巡检实战解析
c++·python·算法·bfs·信息学竞赛
hhzz3 小时前
【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南
人工智能·python·深度学习·yolo·计算机视觉
Escalating_xu4 小时前
【Python】使用库:标准库、第三方库、pip、项目实战与程序打包
java·python·pip