有什么方法可以使用默认的“@”语法在 python 上使用dict作为装饰器?
像这样的东西:
from functools import wraps
def deco(f):
@wraps(f)
def wrapper(*args, **kwargs):
print("WRAPPER")
return f(*args, **kwargs)
return wrapper
X={ "deco": deco }
# Working
@deco
def f():
pass
# Not Working: SyntaxError: invalid syntax
@X["deco"]
def y():
pass
f()
y()
如果更改为在dict上使用get(),则此操作有效,但类似这样的操作不会:
# Not working: SyntaxError: invalid syntax
@X.get("deco").require(http_exception=403)
def y():
pass
这种语法有一些方法可以工作或/和为什么不工作?
慕尼黑8549860
相关分类