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