Python裝飾器

裝飾器是一種以任何方式更改,增強或更改功能工作方式的方式。

裝飾器定義為@符號,後跟裝飾器名稱,就在函數定義之前。

例子:

@logtime
def hello():
    print('hello!')

hello功能具有logtime裝飾器已分配。

每當我們打電話hello(),裝飾器將被調用。

裝飾器是一個將函數作為參數的函數,將該函數包裝在內部函數中,該函數執行其必須執行的工作,然後返回該內部函數。換一種說法:

def logtime(func):
    def wrapper():
        # do something before
        val = func()
        # do something after
        return val
    return wrapper

更多python教程: