decorator python
def our_decorator(func):
    def function_wrapper(x):
        print("Before calling " + func.__name__)
        func(x)
        print("After calling " + func.__name__)
    return function_wrapper
@our_decorator
def foo(x):
    print("Hi, foo has been called with " + str(x))
foo("Hi")
