函数装饰器既可以装饰函数,又可以装饰方法
from functools import wraps
def decorator(F):
@wraps(F)
def wrapper(*args, **kwargs):
result = F(*args, **kwargs)
print(args)
return result
return wrapper
@decorator
def func(x,y):
return x + y
print(func(3, 4))
print("-" * 30)
class cls:
@decorator
def method(self, x, y):
return x + y
c = cls()
print(c.method(3, 4))
(<main.cls object at 0x01DF1C50>, 3, 4)
7