参考博客地址:http://www.cnblogs.com/wupeiqi/articles/4980620.html

1.写代码要遵循开放封闭原则,简单来说,规定已经实现的功能代码不允许被修改,但可以被扩展,即:

  封闭:已实现的功能代码块

  开放:对扩展开发

2.装饰器完全替代f1函数,再在其函数体内增加f1函数体实现,如图1所示:

   PS:注意代码的执行顺序

                                              图1

装饰器理解自定义图如图2:用装饰器所定义的函数来覆盖原f1函数,这样可以在执行f1函数前后执行其他增加的函数。与原函数没有任何关系。

                                               图2

3.采用万能参数*args,**kwargs来解决参数个数不统一情况。

4.双层装饰器

5.多层装饰器

6.更牛逼的装饰器-可以加参数

待续