【发布时间】:2011-04-25 07:15:06
【问题描述】:
我想制作一个可以带或不带参数使用的装饰器: 像这样:
class d(object):
def __init__(self,msg='my default message'):
self.msg = msg
def __call__(self,fn):
def newfn():
print self.msg
return fn()
return newfn
@d('This is working')
def hello():
print 'hello world !'
@d
def too_bad():
print 'does not work'
在我的代码中,只有使用带参数的装饰器才有效:如何继续让两者都工作(带参数和不带参数)?
【问题讨论】: