以下是我的所学到的装饰器小知识点
#1,无参数传入
def wai(fun):
def nei():
print("==检查==")
fun()
return nei
@wai
def foo():
print("===foo===")
#foo()
#2,有参数传入
def wai1(fun):
def nei(*args):
print("__检查__当前值为", *args)
fun(args)
return nei
@wai1
def fcc(*args):
print("___fcc___")
print("fcc参数为", (args))
#fcc(1,2)
#3,不定长参数
def wai2(fun):
def nei(*args,**kwargs):
print("__检查__当前值为", args)
fun(*args,**kwargs)
return nei
@wai2
def fcc(*args,**kwargs):
print("___fcc___")
print("fcc参数为", args)
print("fcc参数为", kwargs)
#fcc(1,2,3,4,a=1,b=2,c='a')
#4,返回值
def wai(fun):
def nei():
print("==检查==")
return fun()
return nei
@wai
def foo():
return "===foo==="
#print(foo())
#5,在里面传入参数
def zsq(a): #1,最外成添加方法
def wai(fun): #传递的函数引用
def nei(): #传递的 函数所需要的 参数
print("==检查==")
print('判断需要使用传入的参数为',a)
return fun()
return nei
return wai #2,返回 最近的内成函数
@zsq(12345) #3,调用最外成的装饰器 名称 (传递参数)
def foo():
return "===foo==="
print(foo())
好了就到这里了这里是我所学到的装饰器的一个知识点,等后期所学在来更新~~
网友评论