[portland] introspecting method signatures
pacopablo at pacopablo.com
Wed Oct 22 23:08:38 CEST 2008
Jeff Schwaber wrote:
> The closest I've found is func.func_code.co_varnames, which is a list
> of variables in the signature, but it doesn't have default arguments
> or mark any which are * or **. Anybody know the right way to do this,
> or am I barking up the wrong tree? The # do something is what I'm
Sounds like you want decorators. They are present in Python >=2.4.
def wrapper(*args, **kwargs):
st = time.time()
val = fn(*args, **kwargs)
print('Elapsed time: %0.2f' % (time.time() - st))
So you can use this function to decorate any other function and it will
time the decorated function. (Note, there are better ways to profile
your code, etc.)
def my_new_func(param, param1=None):
print("This is timed! param: %s, param1: %s" %
There are some decent tutorials on the intertubes regarding decorators.
Google is your friend.
More information about the Portland