デコレータ自作したことなかった。

開発環境

> python3 -V
Python 3.9.0

デコレータ

A function returning another function, usually applied as a function transformation using the @wrapper syntax.
(from Glossary — Python 3.9.0 documentation)

コード

def measure(func):
    import time  # ここに書けるんかいな
    def measure():
        start = time.time()
        func()
        elapsed_time = time.time() - start
        print("elapsed_time: {}".format(elapsed_time))
    return measure

@measure
def processing():
    for i in range(1000):
        for j in range(1000):
            pass

def main():
    processing()

main()

 

> python deco.py 
elapsed_time: 0.014774084091186523

参考