Python 裝飾器計算函式或方法執行時間

2021-10-02 11:06:41 字數 876 閱讀 5767

def execute_time(func):

from time import time

# 定義巢狀函式,用來列印出裝飾的函式的執行時間

# 定義開始時間

start = time()

# 執行函式

func_return = func(*args, **kwargs)

# 定義結束時間

end = time()

# 列印方法名稱和其執行時間

print('{}() execute time: {}s'.format(func.__name__, end-start))

# 返回func的返回值

return func_return

# 返回巢狀的函式

@execute_time

class solution(object):

def twosum(self, nums, target):

""":type nums: list[int]

:type target: int

:rtype: list[int]

"""hashmap = {}

for i, num in enumerate(nums):

hashmap[num] = i

for j, num in enumerate(nums):

k = hashmap.get(target-num)

if k is not none and j != k:

return [j, k]

if __name__ == '__main__':

print(solution().twosum([2, 7, 11, 15], 9))

python裝飾器 函式裝飾器,類裝飾器

只要實現此 模式,這個obj就叫乙個裝飾器 參考 函式裝飾器 例子 def decorator func def inner args,kwargs print before.res func args,kwargs print after.return res return inner decor...

python 裝飾器 函式裝飾器 類裝飾器

python函式裝飾器和類裝飾器筆記.usr bin env python coding utf 8 author ivan file decorators.py version from functools import wraps 裝飾器 目的是為了給函式新增附加功能 1.不帶引數裝飾器 此方式...

python裝飾器 裝飾器工廠函式

使用裝飾器實現如下所示的列印 小白聯盟def printequel func1 def inner1 print 15 func1 return inner1 def printstar func2 def inner2 print 15 func2 return inner2 printequel...