关于python的装饰器简单实用
python调用函数可以提供 key=value 代表这个参数的值,我们可以不用根据函数定义顺序来调用函数。。。。 (*a,**b) 可以作为装饰器提供不定参数。。。使装饰器和被装饰函数 耦合度大幅度降低 函数 def func(): return 1 ///返回 函数的名字 func.__name__ //////通过装饰器实现类的静态方法 class Class: @staticmethod def OK(): print "OK" Class.OK() /////不定参数装饰器 #encoding=utf-8 def deco(func): def _infunc(*args,**kvargs): print("before myfunc() called.") func(*args,**kvargs) print("after myfunc() called.") return _infunc @deco def MyFunc(a,b): print "a+b=",a+b @deco def MyFunc1(a,b,c): print "a+b+c=",a+b+c MyFunc(1,2) MyFunc1(b=1,a=100,c=8) ////装饰器带参数的 不定参数装饰器 #encoding=utf-8 def decco(arg): def _deco(func): def _infunc(*args,**kvargs): print("before myfunc() called. args:%s" % arg) func(*args,**kvargs) print("after myfunc() called.args:%s" % arg) return _infunc return _deco @decco("aaa") def MyFunc(a,b): print "a+b=",a+b @decco("bbb") def MyFunc1(a,b,c): print "a+b+c=",a+b+c MyFunc(1,2) MyFunc1(b=1,a=100,c=8)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。