上海isp 发表于 2018-8-4 07:00:42

python的装饰器decorator

在python中编程碰到过这样一件事情,需要给大量的函数做相同的操作,这样每个函数都去实现一遍这个功能显然是浪费时间。  #这是一个装饰器函数
  def DecoratorFunc(func):
  #Function就是对传入的func函数的包装,以便加入更多的功能
  def Function():
  printf('hello world')#简单的做一些额外操作,可以是其它操作
  return func
  return Function
  现在有了装饰器函数,如何应用到其它函数上呢,用@来使用,如下
  @DecoratorFunc
  def run():
  printf('my run function')
  上面的函数就应用了DecoratorFunc这个装饰器的方法,则当我们调用run这个函数的时候,程序的运行是这样的,它先把run这个函数传入DecoratorFunc这个函数里面,然后对其进行简单的工作后返回结果,如果是上面的写法的话,最后输出应该是
  hello world
  my run function
  这两句
  这里只是简单的例子,装饰器函数可以做的很丰富
  如果像上面的run函数有参数的话,则可以用下面的包装函数,多了参数而已
页: [1]
查看完整版本: python的装饰器decorator