python中裝飾器的理解與使用詳解
更新時間:2023年07月27日 09:11:40 作者:晚風吹兒
這篇文章主要介紹了python中裝飾器的理解與使用詳解,裝飾器本質上是一個閉包函數,其作用在于可以為其他函數增加額外功能,裝飾器的返回值是一個函數對象,需要的朋友可以參考下
一、裝飾器
裝飾器是給現有的模塊增添新的小功能,可以對原函數進行功能擴展,而且還不需要修改原函數的內容,也不需要修改原函數的調用
裝飾器本質上是一個閉包函數,其作用在于可以為其他函數增加額外功能,裝飾器的返回值是一個函數對象
二、定義一個裝飾器
1.裝飾器格式
代碼如下(示例):
def 裝飾器名(func):
def wrapper(*args, **kwargs):
#額外功能的代碼
...
return func(*args, **kwargs)
return wrapper2.裝飾器示例
代碼如下(示例):
def logger(func):
def wrapper(*args, **kwargs):
"""wrapper注釋"""
start_time = time.time()
res = func(*args, **kwargs)
end_time = time.time()
print("函數名:{}".format(func.__name__))
print("函數注釋內容:{}".format(func.__doc__))
print("入參 args :{}".format(args))
print("入參 kwargs :{}".format(kwargs))
print("返回值:{}".format(res))
print("函數執(zhí)行耗時:{:.6f}".format(start_time - end_time))
return res
return wrapper3.裝飾器調用
代碼如下(示例):
@logger
def test_one():
"我是第一個裝飾器"
print("我調用了裝飾器")4.裝飾器運行后輸出

三、 總結
1、裝飾器是一個閉包函數,包括內嵌函數,返回值是一個函數對象
2、需要裝飾的函數前要加上調用格式:@裝飾器名
到此這篇關于python中裝飾器的理解與使用詳解的文章就介紹到這了,更多相關python中的裝飾器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python延時變量和free_list鏈表的區(qū)別詳解
延時變量指Python閉包中變量在調用時而非定義時綁定值,可通過默認參數強制提前綁定,這篇文章主要介紹了Python延時變量和free_list鏈表區(qū)別的相關資料,需要的朋友可以參考下2026-01-01
python實現的生成隨機迷宮算法核心代碼分享(含游戲完整代碼)
這篇文章主要介紹了python實現的隨機迷宮生成算法核心代碼分享,本文包含一個簡單迷宮游戲完整代碼,需要的朋友可以參考下2014-07-07
tensorflow 獲取checkpoint中的變量列表實例
今天小編就為大家分享一篇tensorflow 獲取checkpoint中的變量列表實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

