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

相关推荐
2601_962078193 小时前
Python中calendar.weekday用法
python·编程技巧·calendar·日期处理·weekday
2601_962218613 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
2601_966949653 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
2601_962885723 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
李高钢4 小时前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
ocean21034 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
Warson_L4 小时前
Python的OrderedDict
python
隐擎fox5 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
Warson_L5 小时前
Python的TypedDict
python·langchain·llm
晓窗科技5 小时前
口碑好的AI基座服务商
大数据·人工智能·python