您的位置:首页 > 编程语言 > Python开发

python装饰器之类内部成员装饰

2016-09-13 20:38 417 查看
class TestA(object):
def __init__(self,name):
self.name=name

def tryit(func):
def  _tryit(*args,**xargs):
args[0].funcA()
try:
return func(*args,**xargs)
finally:args[0].funcB()
return _tryit

def funcA(self):
print 'hello',self.name

def funcB(self):
print self.name,'baby~'

@tryit
def funcC(self,a1,a2):
print a1+a2

@tryit
def funcD(self,m):
print self.name,m

if __name__ =='__main__':

a=TestA('zhangxiaomeng')
a.funcC('EAT...','PLAT.....')
a.funcD('SWIM.......')

 结果

 

hello zhangxiaomeng
EAT...PLAT.....
zhangxiaomeng baby~
hello zhangxiaomeng
zhangxiaomeng SWIM.......
zhangxiaomeng baby~

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: