python裝飾器初探(推薦)
更新時(shí)間:2016年07月21日 11:24:29 投稿:jingxian
下面小編就為大家?guī)硪黄猵ython裝飾器初探(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
一、含有一個(gè)裝飾器
#encoding: utf-8 ############含有一個(gè)裝飾器######### def outer(func): def inner(*args, **kwargs):#要裝飾f1(),這里用這倆形式參數(shù),可以接受任意個(gè)參數(shù),不管f1定義幾個(gè)參數(shù) print "1" r = func(*args, **kwargs)#這里要用func,不要用f1 print "2" return r return inner @outer #這里outer不要加括號(hào) def f1(a1, a2): print "a1 + a2 = " return a1 + a2 f1(1,2)
二、含有兩個(gè)(多個(gè))裝飾器
############含有二個(gè)裝飾器######### def outer0(func):#第一個(gè) def inner(*args, **kwargs): print "AAAAAAAAA" r = func(*args, **kwargs) print "BBBBBBBB" return r return inner def outer(func): #第二個(gè) def inner(*args, **kwargs):#要裝飾f1(),這里用這倆形式參數(shù),可以接受任意個(gè)參數(shù),不管f1定義幾個(gè)參數(shù) print "1" r = func(*args, **kwargs)#這里要用func,不要用f1 print "2" return r return inner @outer0 #倆裝飾器,流程就是:執(zhí)行f1()的時(shí)候,先執(zhí)行outer0.inner(),outer0.inner().func調(diào)用outer的inner函數(shù),也就是outer.inner()函數(shù)作為outer0的參數(shù), # 然后outer.inner().func再調(diào)用f1() @outer #這里outer不要加括號(hào) def f1(a1, a2): print "a1 + a2 = %d" %(a1+a2) return 1 f1(1,2)
以上這篇python裝飾器初探(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 實(shí)現(xiàn)平臺(tái)類游戲添加跳躍功能
這篇文章主要介紹了Python 實(shí)現(xiàn)平臺(tái)類游戲添加跳躍功能,,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Python中性能分析利器pyinstrument詳細(xì)講解
大家好,本篇文章主要講的是Python中性能分析利器pyinstrument詳細(xì)講解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02CoordConv實(shí)現(xiàn)卷積加上坐標(biāo)實(shí)例詳解
這篇文章主要介紹了CoordConv實(shí)現(xiàn)卷積加上坐標(biāo)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Python中有哪些關(guān)鍵字及關(guān)鍵字的用法
這篇文章主要介紹了Python中有哪些關(guān)鍵字及關(guān)鍵字的用法,分享python中常用的關(guān)鍵字,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02python+pyqt實(shí)現(xiàn)右下角彈出框
這篇文章主要為大家詳細(xì)介紹了python+pyqt實(shí)現(xiàn)右下角彈出框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10