函数是个对象,并且可以赋值给一个变量,通过变量也能调用该函数:
1 def hello(): 2 print("hello") 3 h = hello 4 h()
利用魔法函数__name__,可以拿到函数的名字:
1 now.__name__ 2 h.__name__
如果我们在调用函数now()前后自动打印日志,但又不允许修改now()函数的定义——在代码运行期间动态增加功能的方式,称之为‘装饰器’Decorator。比如,定义一个能打印日志的decorator:
Posted 雪竺轩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程-装饰器相关的知识,希望对你有一定的参考价值。
函数是个对象,并且可以赋值给一个变量,通过变量也能调用该函数:
1 def hello(): 2 print("hello") 3 h = hello 4 h()
利用魔法函数__name__,可以拿到函数的名字:
1 now.__name__ 2 h.__name__
如果我们在调用函数now()前后自动打印日志,但又不允许修改now()函数的定义——在代码运行期间动态增加功能的方式,称之为‘装饰器’Decorator。比如,定义一个能打印日志的decorator:
以上是关于函数式编程-装饰器的主要内容,如果未能解决你的问题,请参考以下文章