dionobread_ 2023-05-08 12:35 采纳率: 100%
浏览 18
已结题

python装饰器报错

我想要使用装饰器统计函数运行时间时发生报错ValueError: myDecisionTree() requires a code object with 0 free vars, not 1
请问该如何解决呀

img

img

  • 写回答

1条回答 默认 最新

  • Bony- 2023-05-08 13:34
    关注

    以下回答参考GPT并且由Bony-整理:
    该报错通常是由于装饰器函数定义时没有加上 *args**kwargs 参数导致的。为了避免出现这个问题,可以在定义装饰器时使用 *args**kwargs 参数,示例如下:

    import time
    
    def timer(func):
        def wrapper(*args, **kwargs):
            start_time = time.time()
            result = func(*args, **kwargs)
            end_time = time.time()
            print(f"函数 {func.__name__} 运行时间为 {end_time - start_time} 秒")
            return result
        return wrapper
    
    @timer
    def myDecisionTree():
        # your code here
    

    这样,在调用 myDecisionTree() 时就会自动调用 timer 装饰器,计算函数运行时间,并输出运行时间信息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月8日

悬赏问题

  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息