新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Python教程:python裝飾器有哪些作用
1、日志記錄,在某些情況下,需要統(tǒng)計(jì)或記錄功能執(zhí)行的效率,但不想改變功能本身的內(nèi)容,裝飾器是很好的手段。

成都創(chuàng)新互聯(lián)主營(yíng)甘谷網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),甘谷h5成都小程序開(kāi)發(fā)搭建,甘谷網(wǎng)站營(yíng)銷(xiāo)推廣歡迎甘谷等地區(qū)企業(yè)咨詢(xún)
import timeit
def timer(func):
def wrapper(n):
start = timeit.default_timer()
result = func(n)
stop = timeit.default_timer()
print('Time: ', stop - start)
return result
return wrappe
2、作為緩存,裝飾器的另一個(gè)好的應(yīng)用場(chǎng)景是作為緩存。
例如lru將函數(shù)輸入和返回值作為緩存,以計(jì)算斐波的契數(shù)為例,n值的大小為30,執(zhí)行效率大不相同。
def fib(n): if n < 2: return 1 else: return fib(n - 1) + fib(n - 2) @functools.lru_cache(128) def fib_cache(n): if n < 2: return 1 else: return fib_cache(n - 1) + fib_cache(n - 2) Time: 0.2855725 Time: 3.899999999995574e-05
以上就是python裝飾器的作用,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
標(biāo)題名稱(chēng):創(chuàng)新互聯(lián)Python教程:python裝飾器有哪些作用
本文URL:http://m.5511xx.com/article/dhcppge.html


咨詢(xún)
建站咨詢(xún)
