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。

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

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

--------------------成功,肯定是需要一点一滴积累的--------------------
原文地址:https://www.cnblogs.com/GouQ/p/11728343.html