day1-1装饰器前奏1

装饰器定义:

  本质是函数, 装饰其他函数就是为其他函数添加附加功能。

例:我想给下面几个函数加上一个记录日志的功能。  

def test1():
    pass

def test2():
    pass

test1()
test2()

  按照以前所学的可以这样写。 

def logger():
    #定义一个记录日志的函数
    print("logging")
def test1():
    #这是一个test1()函数
    pass
    logger()   #调用记录日志函数

def test2():
    # 这是一个test2()函数
    pass
    logger()   #调用记录日志函数

test1()
test2()

如果按照上面这种修改方式,正在运行的程序就会暂停,会导致整个程序出错,如果改的不好还会使整个系统崩溃。

所以就出现了装饰器来弥补这个问题。不能改变函数本身源代码

使用装饰器

  

  

装饰器原则:

  1、不能修改被装饰的函数的源代码

  2、不能修改被装饰的函数的调用方式。

 

posted on 2017-07-08 16:41  aptech2017  阅读(59)  评论(0)    收藏  举报

导航