如何理解python装饰器

Posted ianxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何理解python装饰器相关的知识,希望对你有一定的参考价值。

如何理解装饰器
python 学习遇到的第一个难点是装饰器。装饰器的作用是不大规模改动代码的情况下,增加功能。
作用:为已经存在的对象添加额外的功能
特点:不需要对对象做任何的代码上的变动。
以一个例子来讲装饰器

import time
def timer(func):
  def deco():
    start_time=time.time()
    func()
    stop_time=time.time()
    print("run time is %s"%(stop_time-start_time))
  return deco

@timer
def test1():
  time.sleep(3)
  print("in the test1")

 

@timer
def test2():
  time.sleep(3)
  print("in the test2")

test1( )
test2( )


例子是在网上找到的,简单的说就是通过 @timer 对进行了函数进行了改造,在很少的代码量的情况下记录了执行时间。
一般在程序中主要是进行日志记录。





















以上是关于如何理解python装饰器的主要内容,如果未能解决你的问题,请参考以下文章

Python之简单理解装饰器

如何理解Python装饰器

如何理解Python中的装饰器?

如何理解Python装饰器

Python 如何理解又晕又好用的装饰器

理解Python装饰器