1. 程式人生 > >如何理解python裝飾器

如何理解python裝飾器

() 如何 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裝飾器