裝飾器
在flask框架裡面,通過裝飾器傳參實現動態建立字典,來完成路由的功能
def
set_value
(value)
:def
set_fun
(func)
:def
call_fun
(*args,
**kwargs)
:print
("2019"
,value)
return func(
*args,
**kwargs)
return call_fun
return set_fun
# 分為兩步
# 先執行set_value,獲得閉包的引用
# 在執行@閉包的引用
# func獲得裝飾前test函式的引用
# 裝飾後test獲得了call_fun函式的引用
@set_value(
"年")
deftest()
:print
("test"
)test(
)
裝飾器傳參的功能一般很少用到,也很少見到,當然在各種框架裡面應該比較常見,裝飾器傳參的實現其實也很簡單,就是在裝飾器的外面在包裹一層函式,當呼叫最外層函式的時候會返回內層閉包的引用(也可以說是裝飾器的引用) python裝飾器實現函式註冊和類裝飾器
01 一般情況下都是使用函式作為裝飾器,其實class也是可以的,function是callable物件,class只有重寫了 call 方法後,它的例項物件也就是callable物件了。02 裝飾器的巢狀 就乙個規律 巢狀的順序和 的順序是相反的。class functionmanager def...
用裝飾器實現登入
login status jingdong false login status weixin false defstart list list1 for i in list print i,list i select num input 請輸入訪問網頁的編號 退出 q if select num ...
裝飾器之類裝飾器
外部的方法至今都玩過了,現在來思索一下的方法這麼裝飾 類方法修飾器 類的方法唯一的特殊點在於,self內部是可以呼叫的,但是在外部卻是隱藏的,那這個怎麼搞 為求穩妥,先定參修飾乙個 def godme fun def godme self,message print before fun self,...