Python装饰器的神奇功能:自动打印每个方法耗时
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Python装饰器的神奇功能:自动打印每个方法耗时
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                問題:
 運行代碼時,尤其對于大型項目需要分析每個環節方法耗時的。每個方法前后都寫計算耗時及日志打印太繁瑣了,而且代碼不精簡。
解決:
 Python裝飾器類似于Spring的 AOP(Aspect Oriented Programing)面向切面的編程,在方法前后分別攔截,進行一些日志記錄操作,該方法稍有改動,進行了方法耗時的打印。
使用:
 只需要在每個方法上邊用:@log_execution_time 注釋即可實現;
# 日志耗時裝飾器
import time
import functools# 日志耗時裝飾器
def log_execution_time(func):@functools.wraps(func)def wrapper(*args, **kwargs):start = time.perf_counter()res = func(*args, **kwargs)end = time.perf_counter()print('【%s】 took %.2f s' % (func.__name__, (end - start)))return resreturn wrapper@log_execution_time
def calculate_similarity(items):print('')calculate_similarity(1)
結果如下
【calculate_similarity】 took 0.00 s
總結
以上是生活随笔為你收集整理的Python装饰器的神奇功能:自动打印每个方法耗时的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 使用OpenCV,Python进行图像哈
- 下一篇: Postgresql:INSERT IN
