什么是装饰器:
装饰器就是python中的一个语法糖。作用就是在不改动之前代码的情况下给某个函数增加相应想要增加的功能。
假设需求:
我在几个函数内分别放了一部电影,代码如下:
代码语言:javascript复制1 def mv1():
2 print("高清无码01")
3 def mv2():
4 print("高清无码02")
我现在想增加一个功能就是在访问这些电影的时候需要密码,不是谁都能看!(你懂得)那我该怎么做呢?要求是不改变源代码。
现在装饰器就派上用场了,先看代码
运行结果
可以看到这里就是先通过的密码,然后在播放电影。
简单点说就是通过在一个闭包内完成相应想要添加的功能后,用“@闭包的名称”,就完成了装饰器的使用。是不是很简单。那么这个“@闭包的名称”都做了什么事呢?
看截图:
看到了吗,这就是他还原回来的样子。可以看到,其实你调用的mv1和 mv2已经不是原来的那两个函数了。
以上是无参函数,下面来说有参函数,如果理解了上面的过程,那么有参很好理解,一张图搞定。