1. 装饰器
装饰器是Python中一种用于修改函数或类行为的语法糖。它可以在不改变原函数或类的代码的情况下,通过在原函数或类的外部包装一层函数或类来实现额外的功能。
装饰器的应用场景有很多,例如:
日志记录:可以使用装饰器来记录函数的调用日志,包括函数名称、参数和返回值等信息。
计时统计:可以使用装饰器来统计函数的执行时间,用于性能优化和分析。
权限验证:可以使用装饰器来验证用户的权限,例如登录验证、管理员权限验证等。
缓存机制:可以使用装饰器来实现函数的结果缓存,提高函数的执行效率。
输入验证:可以使用装饰器来验证函数的输入参数是否符合要求,避免错误的输入导致的问题。
下面是一个简单的装饰器的示例代码:
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Calling function: {func.__name__}")
result = func(*args, **kwargs)
print(f"Function {func.__name__} finished")
return result
return wrapper
@log_decorator
def add(a, b):
return a + b
result = add(2, 3)
print(result)
在上面的代码中,我们定义了一个名为log_decorator的装饰器函数。这个装饰器函数接受一个函数作为参数,并返回一个包装函数wrapper。在wrapper函数内部,我们首先打印了被装饰函数的名称,然后调用了被装饰函数,并将其返回值保存在result变量中。最后,我们又打印了一条消息表示函数执行完成,并返回了result。
在调用add函数时,实际上是调用了被装饰后的wrapper函数。这样,我们就可以在add函数的执行前后加入额外的逻辑,实现了日志记录的功能。
本文介绍了Python中的装饰器,一种用于修改函数或类行为的语法糖。通过装饰器可实现日志记录、计时统计、权限验证等功能,如`@log_decorator`示例展示了如何在函数前后添加额外逻辑。
5万+

被折叠的 条评论
为什么被折叠?



