Python 中的@
时间: 2024-08-16 12:04:31 浏览: 48
Python 中@property的用法详解
5星 · 资源好评率100%
在Python中,`@`符号通常用于装饰器(decorators)的概念。装饰器本质上是特殊类型的函数,它们可以在不改变原函数定义的情况下,增加额外的功能或修改其行为。当你在一个函数定义之前使用`@decorator_name`这样的语法时,实际上是告诉Python调用那个装饰器函数并应用其结果到被装饰的函数上。
例如,假设有一个简单的装饰器用来计算函数执行时间:
```python
import time
def timer_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} took {end_time - start_time} seconds to execute")
return result
return wrapper
@timer_decorator
def my_function(n):
time.sleep(n)
my_function(2) # 输出类似 "my_function took 2.0002968375473022 seconds to execute"
```
在这个例子中,`@timer_decorator` 就是一个装饰器,当我们调用 `my_function(2)` 时,实际上是在调用被 `timer_decorator` 装饰过的函数 `wrapper`。
阅读全文