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

