def 裝飾器 (callback):
def 內部function():
裝飾器程式碼
callback()
return 內部function
使用裝飾器
@裝飾器
def function():
#function 程式碼
function() #呼叫帶裝飾器函式
#範例
import time
def sayLocal(func):
def wrapper(*args,**kargs):
curTime = func(*args,**kargs)
return f’当地时间: {curTime}’
return wrapper
@sayLocal
def getXXXTimeFormat1(name):
curTime = time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime())
return f’{curTime} ,数据采集者:{name} ‘
@sayLocal
def getXXXTimeFormat2(name,place):
curTime = time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime())
return f’{curTime} ,数据采集者:{name} , 采集地:{place}’
print (getXXXTimeFormat1(‘张三’))
print (getXXXTimeFormat2(‘张三’,place=’北京’))