国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用Python統(tǒng)計(jì)函數(shù)執(zhí)行時(shí)間的裝飾器

2023-09-07 20:58 作者:littersho  | 我要投稿

裝飾器的使用場(chǎng)景:

為函數(shù)新增功能,解決重復(fù)性的操作,使得代碼簡(jiǎn)潔,更模塊兒化

裝飾器本質(zhì)上是一個(gè)Python函數(shù),

它可以在不改變?cè)己瘮?shù)的情況下,添加一些額外的功能,例如日志記錄、緩存結(jié)果,以及計(jì)算函數(shù)的運(yùn)行時(shí)間。

接收另一個(gè)函數(shù)作為參數(shù),并返回一個(gè)新函數(shù)。

在Python中,可以使用@符號(hào)放置在要被裝飾的函數(shù)前面,將一個(gè)裝飾器應(yīng)用到一個(gè)函數(shù)上。


以下是一個(gè)簡(jiǎn)單的計(jì)時(shí)裝飾器的例子:

import time?

def calculate_time(func): ? ?

? ?def wrapper(*args, **kwargs): ? ? ? ?

? ? ? start = time.time() ? ? ? ?

? ? ? result = func(*args, **kwargs) ? ? ? ?

? ? ? end = time.time()?

? ? ? cost_time =?end - start??

? ? ??print(“花費(fèi)時(shí)間:{}秒”.format(cost_time)")???? ? ??

? ? ? return result ? ?

? ? return wrapper?

  • calculate_time()是一個(gè)裝飾器函數(shù),它接受一個(gè)函數(shù)作為輸入?yún)?shù),并且返回一個(gè)新的函數(shù)wrapper。

  • wrapper()可以接收任何數(shù)量和類型的輸入?yún)?shù),并在執(zhí)行原始函數(shù)之前記錄起始時(shí)間。然后執(zhí)行原始函數(shù),獲取函數(shù)的結(jié)果;最后記錄結(jié)束時(shí)間,并計(jì)算函數(shù)的運(yùn)行時(shí)間。運(yùn)行時(shí)間輸出到控制臺(tái),然后返回原始函數(shù)的結(jié)果。

  • 裝飾器最終會(huì)返回新的函數(shù)wrapper,因此它將替換原始函數(shù)。

  • 使用“@calculate_time”將裝飾器應(yīng)用于需要計(jì)算運(yùn)行時(shí)間的函數(shù)。


@calculate_time?

def myfunc(): ? ?

? ?time.sleep(1) ? ?

? ?print("Function executed")?


myfunc()

使用Python統(tǒng)計(jì)函數(shù)執(zhí)行時(shí)間的裝飾器的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
南漳县| 三明市| 遂宁市| 平阴县| 华宁县| 南丹县| 芦山县| 大埔区| 克拉玛依市| 应用必备| 洪江市| 盐源县| 龙门县| 西华县| 禄劝| 凌云县| 安平县| 封丘县| 喀什市| 河北区| 瓦房店市| 林甸县| 张掖市| 无极县| 永济市| 特克斯县| 肃南| 新晃| 皋兰县| 九龙县| 徐闻县| 浦江县| 祁阳县| 龙川县| 宝山区| 尤溪县| 广饶县| 灵川县| 逊克县| 建湖县| 城口县|