簡(jiǎn)單來(lái)說(shuō):裝飾器是為已經(jīng)存在的函數(shù)或者對(duì)象添加額外的功能。本質(zhì)上是一個(gè)閉包函數(shù)(閉包函數(shù):本質(zhì)是個(gè)嵌套函數(shù)麻惶,內(nèi)層函數(shù)引用外層函數(shù)的變量并且返回外層函,外層函數(shù)返回內(nèi)層函數(shù))
特點(diǎn):
1.不修改已有函數(shù)的源代碼
2.不修改已有函數(shù)的調(diào)用方式
3.為已有函數(shù)添加額外的功能
使用場(chǎng)景:
1.計(jì)算函數(shù)執(zhí)行時(shí)間窃蹋,運(yùn)行次數(shù)
2.輸出日志信息
3.Flask項(xiàng)目中用于路由傳參,瀏覽器通過(guò)url訪問(wèn)到裝飾器的路由脐彩,從而訪問(wèn)視圖函數(shù)獲得返回的HTML頁(yè)面
4.事務(wù)處理,可以讓函數(shù)實(shí)現(xiàn)事物的一致性
5.緩存處理
6.權(quán)限的校驗(yàn)
分類:
1.帶參裝飾器
2.類裝飾器