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 保留元信息。

相关推荐
AI 编程助手GPT12 小时前
ChatGPT 新手入门与实战操作指南
开发语言·人工智能·git·python·chatgpt
原创小甜甜13 小时前
OOM 排查复盘:Hutool 序列化 Request 导致 Java Heap Space
java·开发语言·python
gf132111113 小时前
【精确查找python脚本是否在运行】
linux·前端·python
zhangfeng113313 小时前
DeepSeek V4 适配华为昇腾950 难度及开源情况
人工智能·pytorch·python·机器学习·华为·开源
MU在掘金9169513 小时前
给AI Agent做一个代码大脑:我用Tree-sitter+ChromaDB+MCP搭了个代码知识库
git·python
噜噜噜阿鲁~13 小时前
python学习笔记 | 11.5、面向对象高级编程-使用枚举类
笔记·python·学习
包子BI大数据13 小时前
2.COZE-RAG知识库搭建
python·ai·aigc
七夜zippoe13 小时前
DolphinDB自定义函数:UDF开发指南
开发语言·python·自定义函数·udf·dolphindb
weixin1997010801613 小时前
[特殊字符] 电商库存扣减防超卖:分布式锁的三种实现(附Python源码)
开发语言·分布式·python
长和信泰光伏储能13 小时前
北京光伏方案解析:探索绿色能源新趋势
python·能源