python之装饰器的概念

装饰器对于程序来说虽然不是必要的,但有时候却可以提高效率,也可以保证程序的安全。

说装饰器之前需要掌握闭包,前面一篇文章已经介绍过,这里不再重复。

那么,装饰器到底是什么东西呢?看下面这个例子

 

首先定义了一个函数 num,然后A B C D四个人都调用了这个函数。现在,A想对函数num的功能进行扩展,于是就修改了函数num的代码。那么问题来了,随着A修改了num的代码,导致了B C D三人在调用函数num的过程中也被迫调用了扩展后的num函数,可是B C D只想调用扩展之前的num函数怎么办呢?装饰器应运而生。

看下面这张图

 

 

 这里,函数num经过装饰器装饰过后再被A调用,就可以实现功能的扩展,而B C D还是可以继续调用未被扩展前的num。

到这里,装饰器的功能就显而易见了:在不修改原函数的情况下,给原函数扩展新的功能。

 

下面一篇介绍一下 装饰器的写法。

posted @ 2019-10-23 19:42  牛公的跑奔  阅读(457)  评论(0编辑  收藏  举报
总访问量:AmazingCounters.com