Skip to content

Instantly share code, notes, and snippets.

@xiantail
Last active December 28, 2015 22:09
Show Gist options
  • Save xiantail/29156f7e9adb3e0e12f7 to your computer and use it in GitHub Desktop.
Save xiantail/29156f7e9adb3e0e12f7 to your computer and use it in GitHub Desktop.
Introducing Python / Chapter 12 dump with decorator
def dump(func):
"Return arguments and outputs"
def wrapped(*args, **kwargs):
print("Function name: %s" % func.__name__)
print("Input arguments: %s" % ' '.join(map(str, args)))
print("Input keyword arguments: %s" % kwargs.items())
output = func(*args, **kwargs)
print("Output:", output)
return output
return wrapped
from dump import dump
@dump
def double(*args, **kwargs):
"Double every argument"
output_list = [2 * arg for arg in args]
output_dict = { k:2*v for k, v in kwargs.items()}
return output_list, output_dict
if __name__ == '__main__':
output = double(3,5, first=100, next=98.6, last=-40)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment