python类装饰器相关操作

python类装饰器相关操作

  • 对象调用自己必须-call方法

    class Test(object):
        def __call__(self):   #类里面定义了这个方法   对象就可以调用自己了
            print("----test1----")
    
    
    t = Test()
    t()  #调用对象自己
    
    '''
        类里面自动调用的方法有
    
        __new__
    
        __init__
    
        __str__
    
        __del__
    
        __call__
    
    '''
    
    # 运行结果
    ----test1----
    
  • 类装饰器

    class Test(object):
        def __init__(self,func):
            print("----初始化----")
            print("func name is %s"%func.__name__)
            self.__func = func
    
        def __call__(self):
            print("----装饰器中的功能----")
            self.__func()
    
    
    
    
    @Test   #等价于   test = Test(test)
    def test():
        print("----test----")
    
    test()
    
    # 运行结果
    ----初始化----
    func name is test
    ----装饰器中的功能----
    ----test----
    
  • 类也是对象

    class Person(object):
        num = 0
        print("----Person----")
        def __init__(self):
            self.name = "laowang"
    
    
    print(1)
    print("haha")
    print(Person)
    
    # 运行结果
    ----Person----
    1
    haha
    <class '__main__.Person'>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只因为你而温柔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值