1. 程式人生 > 其它 >python3的裝飾器

python3的裝飾器

裝飾器的含義:

  裝飾器(Decorator):本質上就是一個返回函式的高階函式,其作用是為其他函式新增附加功能,在程式碼執行期間動態增加功能的方式

  裝飾器 = 高階函式+巢狀函式+閉包

原則

  1、不修改被修飾函式的原始碼

  2、不修改被裝飾的函式的呼叫方式

實現方式

  我們要得出執行一個函式所花費的時間。

import time

def timmer(func):
    def warpper(*args,**kwargs):                #*args,**kwargs 表示可以傳遞任何型別的引數
        start_time = time.time()
        func(
*args,**kwargs) #在這裡執行calculate()函式 end_time = time.time() print('執行時間為%s' %(end_time-start_time)) return warpper @timmer #裝飾器放在這裡,表示把函式calculate作為引數傳給了timmer(calculate) def calculate(l): res = 0 for i in l: time.sleep(0.1) res
+=i print(res) calculate(range(20))