test06.py
class CountCalls:def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
print("在函数执行前做点什么")
result = self.func(*args, **kwargs)
print("在函数执行后做点什么")
return result
@CountCalls
def say_hello():
print("Hello!")
say_hello()
在实际项目中,装饰器可以用来实现很多复杂的功能,提高代码的复用性和可维护性
页:
[1]