在Python中,语句前加`@`是装饰器的使用标识符。装饰器允许你在不修改原函数代码的情况下,扩展或修改函数的行为。例如,你可以使用装饰器来记录函数的调用信息、进行性能测试或者实现权限验证等。
下面是一个简单的装饰器示例:
def my_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
@my_decorator
def say_hello(name):
print(f"Hello, {name}!")
say_hello("Alice")
输出:
Calling function 'say_hello'
Hello, Alice!
Function 'say_hello' finished
在这个例子中,`@my_decorator`就是一个装饰器,它接受一个函数`func`作为参数,并返回一个新的函数`wrapper`,这个新函数在调用原函数前后添加了额外的打印语句。使用`@my_decorator`语法,我们可以轻松地将这种额外的功能添加到任何函数上