码迷,mamicode.com
首页 > 编程语言 > 详细

python - 用类写装饰器

时间:2018-10-18 10:50:25      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:一个   转变   pytho   col   return   __init__   war   code   print   

这里用到了__call__的class内置参数

#类装饰器:
class zsq():
    #本质是定义一个参数,让装饰的主题传递至__call__方法内部
    def __init__(self,obj):
        self.obj = obj
    #利用__call__将类转变为可执行
    #__call__内相当于函数装饰器最外层
    def __call__(self, *args, **kwargs):
        print("start")
        #返回主机函数
        re = self.obj(*args, **kwargs)
        print("end")
        return re

#装饰
@zsq
def Test():
    print( "这是Test主体函数....")
    return "这是Test主体函数...."

# 赋值,执行
a = Test()
print(a)

 

python - 用类写装饰器

标签:一个   转变   pytho   col   return   __init__   war   code   print   

原文地址:https://www.cnblogs.com/Anec/p/9802599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!