以裝飾一個(gè)函數(shù)為例子娱节, 打印出函數(shù)的開始執(zhí)行時(shí)間浙于。
常規(guī)方式實(shí)現(xiàn):
import time
def printTime(func):
def wrapper(*args, **kwargs):
print(time.ctime())
return func(*args, **kwargs)
return wrapper
def printHello(name):
print('Hello', name)
if __name__ == '__main__':
printhello_plus = printTime(printHello)
printhello_plus('Sam')
輸出:
Tue Nov 27 17:12:10 2018
Hello Sam
裝飾器方式實(shí)現(xiàn):
import time
def printTime(func):
def wrapper(*args, **kwargs):
print(time.ctime())
return func(*args, **kwargs)
return wrapper
@printTime
def printhello(name):
print('Hello', name)
if __name__ == '__main__':
printhello('Sam')
輸出:
Tue Nov 27 17:21:13 2018
Hello Sam