[Python-ideas] @setattr(obj, [name])
George Sakkis
george.sakkis at gmail.com
Sun Jun 6 14:30:11 CEST 2010
It would be nice if setattr() was extended to allow usage as a decorator:
class Foo(object):
pass
@setattr(Foo)
def bar(self):
print 'bar'
@setattr(Foo, 'baz')
def get_baz(self):
print 'baz'
>>> Foo().bar()
bar
>>> Foo().baz()
baz
Here's a pure Python implementation:
_setattr = setattr
def setattr(obj, *args):
if len(args) >= 2:
return _setattr(obj, *args)
return lambda f: _setattr(obj, args[0] if args else f.__name__, f) or f
Thoughts ?
George
More information about the Python-ideas
mailing list