Я хотел бы сделать декоратор, который можно использовать с параметром или без него: Что-то вроде этого:
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'
В моем коде работает только использование декоратора с параметром: как перейти к работе (с параметром и без него)?