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)
关于python的装饰器简单实用
最新推荐文章于 2024-04-09 14:03:14 发布