add by zhj: 装饰器的作用是将代码中可以独立的功能独立出来,实现代码复用,下面那个用于统计函数运行时间的装饰器就是很好的例子,我们不用修改原有的函数和调用原有函数的地方,这遵循了开闭原则.装饰器可以用函数和类来实现.我个人感觉类比较好,它可以消除一层内嵌函数,尤其是当在内嵌函数中使用了外层函数定义的变量时,就形成了闭包,这个东西不太好理解.而用类就没有这样的问题. 函数实现:函数名是一个指向函数对象的变量,我们可以修改该变量,使其指向被装饰后的新函数对象,即foo=decorator(…