遥想大肠包小肠----python装饰器乱弹
?
說起裝飾器就tm蛋疼,在老男孩學習python裝飾器,結果第二天默寫,全錯了,一道題抄十遍,共計二十遍。
要是裝飾器是一人,我非要約他在必圖拳館來一場......
下面容我展示一下默寫二十遍的成果
語法形式
?
def ?mydec(wenwa):
def inner(*args,**kwagrs):
ret = wenwa(*args,**kwargs)
return ret ?#請務必別忘記這還有個該死的return,如果被執行的函數沒有返回值return,則ret為None
return inner
其實我們不妨把裝飾器想象為臺灣同胞的一款小吃:大腸包小腸,外面那層大腸其實是外層函數mydec() 一口咬下去(給被調用函數加裝飾器糖),吃到的是(執行的是)內層函數inner()包裹的函數wenwa() 至于外層函數inner()的入參*args則為多個變量(入參)傳入提供了通道,而另一種入參**kwargs則為形如 x=3,a=4這類表達式型的參數提供了傳入的可能。(您要是覺得糊涂,可以查看saintding轉自runoob的另一篇博文http://www.cnblogs.com/saintdingspage/p/7788905.html參數部分)
以下為saintding寫的一個裝飾器......算了,還是看網上大牛寫的吧,下列代碼參考自https://www.zhihu.com/question/26930016知乎網站,特此鳴謝
?
轉載于:https://www.cnblogs.com/saintdingspage/p/7789083.html
總結
以上是生活随笔為你收集整理的遥想大肠包小肠----python装饰器乱弹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 表格进阶03—出纳日报表(表格,再次练习
- 下一篇: bestCoder 2015 百度之星程