https://segmentfault.com/a/...
from functools import wraps
def require_permission(permission): def decorator(func): @wraps(func) def wrapper(args, **kwargs): if not has_permission(permission): raise PermissionError("Permission denied") return func(args, **kwargs) return wrapper return decorator
from functools import update_wrapper
def my_decorator(func): def wrapper(*args, **kwargs):
# 执行装饰器逻辑 return func(*args, **kwargs) update_wrapper(wrapper, func) return wrapper
https://segmentfault.com/a/...
from functools import wraps
def require_permission(permission):
def decorator(func):
@wraps(func)
def wrapper(args, **kwargs):
if not has_permission(permission):
raise PermissionError("Permission denied")
return func(args, **kwargs)
return wrapper
return decorator
不带参数的
from functools import update_wrapper
def my_decorator(func):
def wrapper(*args, **kwargs):