作为小白,在学python装饰器时,真的是很抓狂,看了几遍廖雪峰老师的教程后还是不理解,先后也找了几篇有关python装饰器的博客来看,才可以勉强理解装饰器的含义
python装饰器其实就是python中的一个语法,不用它也同样可以实现你想要的功能,只是相较而言需要更多的代码,使用装饰器来说会简洁而方便一些
简单了解python装饰器可以分几步
第一步:了解简单的函数性质
函数也是对象,python函数具有对象的所有性质
(1)它有id,有type,有值。
(2)可以赋值可以给变量
def MyPython(): return 'I Love Python' MyPython1=MyPython
注意:把函数赋值给变量时候,是把函数名赋值给变量,不要写成
MyPython1=MyPython()这是错误的,MyPython()是执行了函数,把函数的返回值赋给了变量MyPython1(3)可当参数传递,也可以当返回值因为是具有变量的性质,所以变量可以干啥它就可以干啥
def MyPython(MyChildren): ... print(MyChildren()) ... return MyChilren ... def MyPython1(): print(“I Love Python”) f=MyPython(MyPython1) f()