不适用装饰器,求函数运行时间代码import time def printnum(num): for i in range(2, 100*num): print(i) def test(): t1 = time.time() printnum(100) t2 = time.time() print(t2-t1) 使用装饰器后,求函数运行代码import time def time_result(func): def wrapper(): t1 = time.time() func() t2 = time.time() print(t2 - t1) return wrapper def printnum(num): for i in range(2, 100*num): print(i) @time_result def macd(): printnum(100) macd() 函数带有返回值,装饰器如何用import time def time_result(func): def wrapper(): t1 = time.time() result = func() t2 = time.time() print(t2 - t1) return result return wrapper def printnum(num): for i in range(2, 100*num): print(i) @time_result def macd(): j = 0 j = j + 1 printnum(100) return j macd() 函数带有参数,装饰器用法import time def time_result(func): def wrapper(*args): t1 = time.time() result = func(*args) t2 = time.time() print(t2 - t1) return result return wrapper def printnum(num): for i in range(2, 100*num): print(i) @time_result def macd(x): j = 0 j = j + 1 printnum(x) print(j) return j macd(1000)