裝飾器的簡單使用

2021-09-25 13:16:52 字數 541 閱讀 8962

要玩裝飾器,就要知道閉包,何為閉包?我們要從閉包的三要素說起:

1.函式巢狀    即乙個函式內部還有乙個函式。

2.外部函式返回值為內部函式(名)。

3.內部函式要用到外部函式的變數。

為啥要用裝飾器呢?

我的理解為,在不改變原碼的基礎上拓展某些功能,不用再寫一遍**了,在某些程度上減少了**的冗餘。

看**:

import time

def outer(fun):

def inner(a,b):

print('開始計時了啊')

start_time=time.time()

fun(a,b)

end_time=time.time()

print(f'共用時')

return inner

@outer

def funs(x,y):

time.sleep(2)

print(x+y)

funs(2,4)

python裝飾器簡單使用

概念 在 執行期間動態增加功能的方式,稱之為 裝飾器 decorator 本質上,decorator就是乙個返回函式的高階函式 我們要定義乙個能列印日誌的decorator,可以定義如下 def log func def args,kw print call s func.name return f...

python簡單裝飾器 python裝飾器簡單使用

理解裝飾前先理解python閉包的概念 下面是對裝飾器的簡單舉例 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 inner 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 被裝飾的函式無引數 def decorate func 裝飾器列...

簡單上手Python中裝飾器的使用

python的裝飾器可以實現在 執行期間修改函式的上下文,即可以定義函式在執行之前進行何種操作和函式執行後進行何種操作,而函式本身並沒有任何程式設計客棧的改變。這個看起來很複雜,實際上應用到了我之前說過的閉包的概念,仔細看一看,其實並不複雜。首先,我們先定義乙個函式,這個函式可以輸出我的個人暱稱 d...