Python裝飾器的分析

2021-10-07 16:26:06 字數 657 閱讀 5542

裝飾器模式(decorator pattern)允許向乙個現有的物件新增新的功能,同時又不改變其結構。

#計時器裝飾器

deffn_timer

(function)

:import time

deffunction_timer

(*args,

**kwargs)

: t0 = time.time(

) result = function(

*args,

**kwargs)

t1 = time.time(

)print

("total time:"

.format

(t1-t0)

)return result

return function_timer

使用裝飾器的時候,在需要裝飾的函式前增加@fn_timer即可。

result = function(

*args,

**kwargs)

#此處的function,為需要裝飾的函式,也就是原來的函式

return result

#此處result可以返回乙個值出去,此處的值,為函式本身的返回值

python裝飾器分析 Python裝飾器舉例分析

概述 裝飾器本質上是乙個python函式,它可以讓其他函式在不需要做任何 變動的前提下增加額外功能,裝飾器的返回值也是乙個函式物件。我們要需要乙個能測試函式執行時間的decorator,可以定義如下 def timer func start time time.time res func args,...

python裝飾器 Python 裝飾器

簡言之,python裝飾器就是用於拓展原來函式功能的一種函式,這個函式的特殊之處在於它的返回值也是乙個函式,使用python裝飾器的好處就是在不用更改原函式的 前提下給函式增加新的功能。一般而言,我們要想拓展原來函式 最直接的辦法就是侵入 裡面修改,例如 這是我們最原始的的乙個函式,然後我們試圖記錄...

python裝飾器 裝飾器

由於函式也是乙個物件,而且函式物件可以被賦值給變數,所以,通過變數也能呼叫該函式。def now print 2015 3 25 f now f 2015 3 25 函式物件有乙個 name 屬性,可以拿到函式的名字 now.name now f.name now 現在,假設我們要增強now 函式的...