1
你能帮助我了解是否有可能使用的功能都与一个装饰,没有它。丢弃装饰
例子:
def hello():
return "hello, sir or madam!"
@makeitalic
def italic_hello():
return(hello())
嗯,是有可能没有装饰用HELLO():
def makeitalic(fn):
def wrapped():
return "<i>" + fn() + "</i>"
return wrapped
@makeitalic
def hello():
return "hello, sir or madam!"
是在我脑海中的唯一途径?
注意'italic_hello = makeitalic(你好)'会更简单 - 这基本上是'@ makeitalic'的语法糖所做的。 – jonrsharpe
您可以将实际功能作为属性分配给“包裹”。 –
如果您需要这种动态行为,请勿使用装饰器。 – pvg