技术文摘
Python 装饰器入门的四则简单示例
2024-12-30 15:15:33 小编
Python 装饰器入门的四则简单示例
在 Python 编程中,装饰器是一种强大的工具,它可以在不修改被装饰函数源代码的情况下,为函数添加额外的功能。下面通过四则简单示例来帮助您入门 Python 装饰器。
示例一:添加日志功能
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"调用函数 {func.__name__}")
result = func(*args, **kwargs)
print(f"函数 {func.__name__} 执行完毕")
return result
return wrapper
@log_decorator
def add_numbers(a, b):
return a + b
print(add_numbers(2, 3))
示例二:计算函数执行时间
import time
def time_decorator(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 result
return wrapper
@time_decorator
def long_running_function():
time.sleep(2)
long_running_function()
示例三:参数验证
def validate_params_decorator(func):
def wrapper(*args, **kwargs):
if len(args) < 2:
print("参数数量不足")
return
result = func(*args, **kwargs)
return result
return wrapper
@validate_params_decorator
def multiply_numbers(a, b):
return a * b
multiply_numbers(3)
示例四:缓存结果
def cache_decorator(func):
cache = {}
def wrapper(*args):
if args in cache:
print("从缓存中获取结果")
return cache[args]
result = func(*args)
cache[args] = result
print("将结果缓存")
return result
return wrapper
@cache_decorator
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
factorial(5)
factorial(5)
通过以上四则简单示例,您应该对 Python 装饰器有了初步的认识和了解。装饰器在实际编程中有着广泛的应用,可以使代码更加简洁、灵活和可维护。不断探索和实践,您将能够更好地掌握这一强大的编程技术。
TAGS: Python 示例 Python 基础 Python 装饰器入门 四则简单示例
- 20 个实用的 VS Code 扩展(2024 年版)
- 技术人员必读:怎样挑选契合公司的消息队列工具
- CommonJS 与 ES Module 终可相互兼容
- 智能测试成趋势,大模型为 AI 自动化测试增智
- 前端“技术深度”与“技术广度”孰重?
- 一键脚本助力搭建个人镜像加速仓库
- 15 个惊艳的登录页面及源码
- ConcurrentHashMap 保证线程安全的机制
- 2024 年度卓越 JS 项目揭晓,出人意料!
- 三分钟完成!无服务器和域名要求,迅速部署线上项目
- 大模型之提示词管理系列
- Node.js 与 AI 助力轻松总结音视频内容
- 历届 Java 语言关键字大盘点,总有你未知的
- 10 个超火且实用的前端工具库,或许正是你所寻
- ViewPager 预加载机制提升滑动性能的方法及屏蔽策略