什麼是裝飾器語法糖
toc裝飾器語法糖屬於裝飾器的
注意:在使用裝飾器語法糖時,裝飾器必須定義在被裝飾物件之上
import time
# 統計函式執行時間裝飾器
def inner(*args, **kwargs): # 被裝飾物件的引數
# 呼叫前增加新功能
start_time = time.time()
# 呼叫被裝飾物件,並接收返回值
res = func(*args, **kwargs)
# 呼叫後新增新功能
end_time = time.time()
print(end_time - start_time)
return res
return inner
# func函式需要執行3秒
# 無參裝飾器
# 使用裝飾器
def func():
time.sleep(3)
# 不用裝飾器
def func2():
time.sleep(3)
func()
計算程式的執行時間(利用函式的語法糖)
import time
def time_timer(func):
def inner():
start_time = time.time()
res = func()
end_time = time.time()
print(f'消耗了:')
return res
return inner
@time_timer
def download_movie():
time.sleep(3)
return '小澤.mp4'
download_movie()
Python語法糖 裝飾器
這裡用來記錄python各種甜得發膩的語法糖,以及各種變形用法。太初,神諭 pythonic import light,於是有了光。裝飾器是用來給函式增加新功能的,對於支援高階函式的語言,函式引數直接穿進去就好了。但是python提供了更為優雅的解決方案,只需要乙個 就能搞定。裝飾器函式需要單獨寫出...
Python語法糖 裝飾器
這裡用來記錄python各種甜得發膩的語法糖,以及各種變形用法。太初,神諭 pythonic import light,於是有了光。裝飾器是用來給函式增加新功能的,對於支援高階函式的語言,函式引數直接穿進去就好了。但是python提供了更為優雅的解決方案,只需要乙個 就能搞定。裝飾器函式需要單獨寫出...
Python裝飾器語法糖
裝飾器的固定格式 普通版本 def timer func def inner args,kwargs 執行函式之前要做的 ret func args,kwargs 執行函式之後要做的 return ret return inner wraps版本 from functools import wrap...