在 Python 编程中,理解 “@” 符号的多重用途至关重要。不论是使用装饰器来增强函数的功能,还是进行复杂的矩阵运算,或者通过魔术方法来自定义操作符,“@” 符号都扮演着关键角色。掌握这一符号的使用,不仅能让你的代码更加简洁高效,还能提升其可读性。接下来我们简单介绍 “@” 符号的不同用法,并通过实例展示如何灵活应用它。
@符号作用一:“@” 符号与装饰器的应用
在 Python 中,“@” 符号主要用于装饰器。装饰器是一种强大且灵活的工具,用来在不修改函数或方法代码的情况下扩展或修改它们的行为。
下面是一个简单的示例:一个名为
log_function_call
的装饰器函数,用于记录被装饰函数的调用信息。这个装饰器应用于
add
函数,使其在调用时打印函数名、参数、结果等信息。当我们调用
add(5, 3)
时,它会打印出有关函数调用的信息,执行加法操作,记录结果,并返回该结果。变量
result
将存储值 8,即 5 + 3 的结果。
def log_function_call(func):
def wrapper(*args, **kwargs):
print(f"Calling function {func.__name__} with arguments {args} and keyword arguments {kwargs}")
result = func(*args, **kwargs)
print(f"Function {func.__name__} returned {result}")
return result
return wrapper
@log_function_call
def add(a, b):
return a + b
result = add(5, 3)
print(result)
@符号作用二: 使用 “@” 操作符进行矩阵乘法