import time def log(delay=0): def decorator(func): def wrapper(*args, **kwargs): """我是 wrapper 的註釋""" time1 = time.time() newargs = list(args) newargs[0] = newargs[0] * 2 # res = func(*args, **kwargs) res = func(*newargs, **kwargs) time.sleep(delay) # 延遲 delay 秒 time2 = time.time() print("函數名:{}".format(func.__name__)) print("函數註釋內容:{}".format(func.__doc__)) print("入參 args :{}".format(args)) print("入參 kwargs :{}".format(kwargs)) print("返回值:{}".format(res)) print("函數執行耗時:{:.8f}".format(time2 - time1)) return res return wrapper return decorator @log(0) def get_prime_sum(n): """我是 get_prime_sum 的註釋""" sum = 0 for i in range(1, n + 1): sum += i return sum get_prime_sum(50)