技术文摘
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 装饰器入门 四则简单示例
- Python 编程:内置字典(dict)子类及应用全解析
- Manim:超美的 Python 数学动画开发模块
- 我在项目中运用设计模式的技巧,学习设计模式竟如此简单
- Java 用于移动应用开发的八大理由
- 前端图形学实战:Vue3 + Vite 从零开发几何画板
- Go 语言 context 卓越实践
- 让 Python 代码更干净的简单步骤
- Java 零基础之 For 循环学习
- 61 张图深度剖析 Spring 事务
- Python 函数式编程:人人都应知晓
- 2022 双十一筹备:细微疏忽险酿大祸
- 二进制乘法的使用方法
- 你了解 Web 3.0 是什么吗?
- 掌握此设计模式思考业务抓手,OKR 绩效拿优不再难
- 线上 Kafka 消息堆积且 Consumer 掉线的解决之道