Python 標準裝飾器是一種可以增強函數功能的方式。通過裝飾器,我們可以在不改變函數內部結構的情況下,增加一些額外的功能。Python 中的裝飾器本質上就是一個函數,它接收一個函數作為參數,并返回一個新的函數,最后將原函數替換成新函數,從而實現函數增強的目的。
使用 Python 標準裝飾器非常簡單,只需要在函數定義之前加上 @ 符號,然后緊跟著裝飾器函數名即可。例如,下面的代碼演示了一個簡單的裝飾器:
def my_decorator(func): def wrapper(): print("Before function execution") func() print("After function execution") return wrapper @my_decorator def say_hello(): print("Hello, world!") say_hello()
上面的代碼中,我們定義了一個裝飾器函數 my_decorator,它接收一個函數 func 作為參數,返回一個新的函數 wrapper。在 wrapper 函數中,我們先打印出 Before function execution,然后運行原函數 func,最后再打印出 After function execution。接著,我們使用 @ 符號將 say_hello 函數修飾成裝飾器函數 my_decorator 的新版本。最后我們調用 say_hello,運行結果如下:
Before function execution Hello, world! After function execution
我們可以看到,原來單純的 say_hello 函數,經過裝飾之后,它的功能被增強了,增加了額外的輸出。
上一篇vue動態引入樣式
下一篇python 維恩圖