1. 程式人生 > >Python-----對裝飾器的理解與應用

Python-----對裝飾器的理解與應用

一.對裝飾器的理解

裝飾器:也是一個函式,這個函式的目的是為了裝飾另一個函式用的巢狀函式和回撥函式的結合.裝飾器的返回值也是一個函式物件。
外部函式用來接收函式
內部函式用來接收引數
def zhuangshi(fun):
    def inner(x,y):
        print("************")
        fun(x,y)
        print("************")
    return inner
#@zhaungshi
def sum(x,y):
    print("兩數之和:",x+y)
a=zhuangshi(sum) # inner
a(1,2)
#sum(1,2)

二. 解釋什麼是閉包?

在函式內部再定義一個函式,並且這個函式用到了外邊函式的變數,那麼將這個函式以及用到的一些變數稱之為
閉包

三.函式裝飾器的作用

裝飾器本質上是一個 Python 函式,它可以在讓其他函式在不需要做任何程式碼的變動的前提下增加額外的功能。裝
飾器的返回值也是一個函式的物件,它經常用於有切面需求的場景。 比如:插入日誌、效能測試、事務處理、快取、
許可權的校驗等場景 有了裝飾器就可以抽離出大量的與函式功能本身無關的雷同程式碼併發並繼續使用。