L8 1

def trace(f):
    def traced(x):
        print("-> Calling ",f,"arg ",x)
        return f(x)
    return traced
# 下面两段代码等效
@trace
def square(x):
    return x*x

square = trace(square)

square(5)