I use decorators for type checking parameters which are passed to my Python methods via some RMI. So instead of repeating the same parameter counting, exception-raising mumbo-jumbo again and again.
For example, instead of:
def myMethod(ID, name):
if not (myIsType(ID, 'uint') and myIsType(name, 'utf8string')):
raise BlaBlaException() ...
I just declare:
@accepts(uint, utf8string)
def myMethod(ID, name):
...
and accepts()
does all the work for me.