Python中的装饰器:概念与实际应用示例
装饰器是 Python 中一种强大的语言特性,它允许我们在不修改原函数代码的情况下,为其增加功能或修改行为。
装饰器的基本语法如下:
@decorator
def original_function():
# original function code here
下面是一些实际应用示例:
- 计时器:装饰器用于测量函数执行时间。
import time
def timer_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs))
end_time = time.time()
print(f"Function {func.__name__}} took "
f"{end_time - start_time} seconds")
return result
return wrapper
@timer_decorator
def slow_function(n):
time.sleep(0.1 * n))
return n
slow_function(5)
- 日志记录:装饰器用于在函数执行前后添加日志。
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Function {func.__name__}} is called")
result = func(*args, **kwargs))
print(f"Function {func.__name__}} returns {result}")
return result
return wrapper
@log_decorator
def my_function(name):
print(f"Hello, {name}!}")
my_function("Alice")
以上就是装饰器在 Python 中的概念与实际应用。
还没有评论,来说两句吧...