Python装饰器的意义是什么?

我正在阅读有关Python的装饰器概念的信息,据我了解,它在不更改该功能代码的情况下为该功能添加了额外的功能(例如计时或记录)。现在,这对于调试以检查传递给该函数的参数,执行多少时间等非常有用。 但是,除了传递主函数并返回包装函数之外,我们不能只传递带有参数的函数并处理相同的函数(没有任何内部函数)吗?

因此,而不是以下内容:

def decorator(func):
  def wrapper(*args):
    print("Inside decorator")
    func(*args)
  return wrapper

@decorator
def hello(*args):
  print("HELLO!")

以下内容是否也足够?

def decorator(func, *args):
  print("Inside decorator")
  return func(*args)

@decorator
def hello(*args):
  print("HELLO!")
评论