Python裝飾器 學習筆記

什麼是裝飾器

  1. Python中一切皆對象,函數也可以當做參數傳遞
  2. 裝飾器接受函數當做參數,添加功能後返回一個新函數的函數
  3. Python中裝飾器使用@
import time

def log_time(func):
    def log(*args, **kwargs):
        begin = time.time()
        res = func(*args, **kwargs)
        print(time.time()-begin)
        return res
    return log

# 第一種調用形式
@log_time
def my_time():
    time.sleep(1)

my_time()

def my_time_two():
    time.sleep(2)

# 第二種調用形式
new_fuc = log_time(my_time_two)
new_fuc()

思考題:如何給類寫裝飾器

發佈了16 篇原創文章 · 獲贊 6 · 訪問量 2618
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章