使用python写一个钩子函数
时间: 2024-10-10 13:13:36 浏览: 41
在Python中,钩子函数通常用于在特定的事件发生时注册并执行自定义代码。例如,我们可以在模块加载、函数调用前后等阶段添加一些额外的操作。这里是一个简单的例子,展示如何创建一个函数作为装饰器来实现钩子功能:
```python
def hook_function(func):
def wrapper(*args, **kwargs):
print(f"Hook function is being called before {func.__name__}")
result = func(*args, **kwargs)
print(f"Hook function after {func.__name__} returned with result: {result}")
return result
return wrapper
@hook_function
def my_function(x, y):
return x + y
my_function(3, 4) # 输出:Hook function is being called before my_function Hook function after my_function returned with result: 7
```
在这个例子中,`hook_function`就是一个钩子装饰器,它接收一个函数`func`作为输入,并返回一个新的包装函数`wrapper`。当调用`my_function`时,实际上是调用了被装饰后的`wrapper`函数。
阅读全文