##python装饰器简述
装饰器顾名思义就是用来装饰的,俗话说人靠衣装,马靠鞍装,要想人看起来精神焕发,就得靠华丽的衣服进行装饰。那同样的道理,代码要想实现更加强大的功能,有两种办法,要么回炉重造,要么附加功能。这两种方法区别就在于前者对已有的代码进行了修改,后者没有对其进行修改。
python中的装饰器是这样的:python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。
下面给出一个例子:
假设我们现在有一辆普通版的兰博基尼跑车,它只能在地面上跑,不会飞,不会游泳,我们现在要让我们的跑车变成既会飞又会下海游泳的超级跑车,但是不能把车回炉重造,那就得使用装饰器的功能了。
原版兰博基尼跑车:
# 自己普通版的兰博基尼
def test():
print("我是普通兰博基尼,我只会在地面上跑")
test()
运行结果:
我是普通兰博基尼,我只会在地面上跑
下面我们通过装饰器对我们的跑车增加新功能
'''游泳功能'''
def dec1(func):
print("添加入海游泳功能")
def one():
print("启动入海游泳功能")
func()
print("关闭入海游泳功能")
return one