如何理解python裝飾器
阿新 • • 發佈:2018-05-24
() 如何 lee 簡單的 存在 port print pytho -s
如何理解裝飾器
python 學習遇到的第一個難點是裝飾器。裝飾器的作用是不大規模改動代碼的情況下,增加功能。
作用:為已經存在的對象添加額外的功能
特點:不需要對對象做任何的代碼上的變動。
以一個例子來講裝飾器
import time
def timer(func):
def deco():
start_time=time.time()
func()
stop_time=time.time()
print("run time is %s"%(stop_time-start_time))
return deco
@timer
def test1():
time.sleep(3)
print("in the test1")
@timer
def test2():
time.sleep(3)
print("in the test2")
test1( )
test2( )
例子是在網上找到的,簡單的說就是通過 @timer 對進行了函數進行了改造,在很少的代碼量的情況下記錄了執行時間。
一般在程序中主要是進行日誌記錄。
如何理解python裝飾器