100道python編程題 如何用Python裝飾器計算函數(shù)運行時間?
如何用Python裝飾器計算函數(shù)運行時間?關(guān)于裝飾師,我不會再解釋了。您可以在我的標(biāo)題鏈接中看到文章Python decorator:使用decorators計算函數(shù)的運行時間。第一個想法是在deco
如何用Python裝飾器計算函數(shù)運行時間?
關(guān)于裝飾師,我不會再解釋了。您可以在我的標(biāo)題鏈接中看到文章Python decorator:
使用decorators計算函數(shù)的運行時間。第一個想法是在decorators中記錄函數(shù)執(zhí)行的兩側(cè)的時間戳,然后減去它們得到函數(shù)的運行時間,如下所示:
您可以得到函數(shù)運行的秒數(shù),運行結(jié)果如下所示:
使用此模塊測量和修改以前的decorator。修改后的decorator如下:
運行結(jié)果:
timeit模塊用于測量一小段代碼的執(zhí)行時間。它的方法如下:
只寫了幾個常用的方法,還有其他的方法可以自己瀏覽
當(dāng)然,timeit模塊不適合decorators,這也很方便
總之,比如我寫了一個python插件給用戶使用,但是在使用的過程中,我添加了一些函數(shù),但我不希望用戶改變調(diào)用方式,那我該怎么辦?這是使用裝飾器的時候。Python decorator是一個用于擴展原始函數(shù)的函數(shù)。這個函數(shù)的特點是它的返回值也是一個函數(shù)。使用Python decorator的優(yōu)點是在不更改原始函數(shù)的代碼的情況下向函數(shù)中添加新函數(shù)。一般來說,如果我們想擴展原來的函數(shù)代碼,更直接的方法是入侵代碼并對其進行修改。decorator是程序開發(fā)中經(jīng)常使用的函數(shù)。如果用得好,開發(fā)效率會大大提高,所以這也是Python面試中必須要問的問題。然而,對于許多小白來說,這個函數(shù)有點復(fù)雜。當(dāng)你自學(xué)的時候,你可以直接繞著它走,但是當(dāng)你以后問的時候,你會掛斷電話,因為decorator是程序開發(fā)的基礎(chǔ)知識,所以如果你不懂,你不能說太多的是。隨著人工智能的發(fā)展,作為人工智能首選語言的python也如火如荼地進行著。現(xiàn)在絕對是進入這個行業(yè)的好時機!