Discuss / Python / 注意装饰器的运行时机

注意装饰器的运行时机

Topic source

请问我为什么这样写: def wrapers(args, **kw): print("函数{0}()即将执行,此时系统已运行了 {1} 秒\n".format(func.name, time()-start_time)) startTime = time() func(args, kw) print("函数{0}()执行了 {1} 秒后,结束了自己\n".format(func.name, time()-startTime)) return (func(*args, kw)) return wrapers 返回值是: 函数abc()即将执行,此时系统已运行了 0.0010013580322265625 秒

我是函数abc(),我正在执行中,不过我要睡 5 秒

函数abc()执行了 5.*00919508934021 秒后,结束了自己

我是函数abc(),我正在执行中不过我要睡 5 秒

但是引入ret=func(args, *kw),改成return ret时,返回值是: 函数abc()即将执行,此时系统已运行了 0.0 秒

我是函数abc(),我正在执行中,不过我要睡 5 秒

函数abc()执行了 5.00163197517395 秒后,结束了自己。 为什么引入ret后,返回函数不用再跑一次?


  • 1
  • 2

Reply