在《Python类方法和静态方法》中提到了修饰器,修饰器和java中的注解看起来差不多,他到底是什么东西呢?先看一下一个最简单的修饰器实现:
- def R(arg):
- print("修饰一下")
- return f
它看起来就是设计模式中提到的修饰设计模式,在原有的基础上添加自己的修式。 不过python中的实现是返回了一个函数。这感觉有些闭包的概念,不过还好不是那么的复杂。我们来个复杂点的:
- def R(arg):
- def m(f)
- print("修饰一下")
- return f
- return m
具体的使用方法和java的注解是一样的:
- @R(a)
- def na():
- pass