python函数修饰器

from functools import lru_cache

@lru_cache(maxsize=None)  # 加在函数定义前
def lcm(a, b):
    return (a * b) // math.gcd(a, b)

简单的缓存

import time
def timer(func):
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        print("%s took %.2fs" % (func.__name__, time.time() - start))
        return result
    return wrapper

@timer
def main():
  print(1)

简单的计时器(注意:若有阻塞输入,阻塞的时间也会被计算在内)

修饰器本质上就是个高阶函数,以被修饰函数作为输入,无入侵的完成一些辅助操作

posted @ 2025-06-18 21:24  邓佑孤  阅读(6)  评论(0)    收藏  举报